ShaderToy指南1:颜色和坐标
来源:互联网 发布:linux下备份文件命令 编辑:程序博客网 时间:2024/06/12 09:07
最近在学Shader,发现了一个好玩的网站shaertoy,国内都没有什么人玩,写个相关的指南,不要见笑,一起进步。
修改TUTORIAL
的值来选择指南。
shadertoy上用的语言是类似于glsl,有一些小改动,是在shader写起来更加顺手。语法类似于C语言。
预览链接:https://www.shadertoy.com/view/4lfyDn
下面是源码:
//选择内容#define TUTORIAL 5/* 目录 1 黑屏. 2 带颜色 3 颜色系统 4 坐标 5 屏幕适配*/#define PI 3.14159265359#define TWOPI 6.28318530718#if TUTORIAL == 1/* 主函数中什么都不写,得到黑屏一块。*/void mainImage( out vec4 fragColor, in vec2 fragCoord )//void main(){ //fragColor;}#elif TUTORIAL == 2/* fragColor为输出颜色,用vec4*/void mainImage( out vec4 fragColor, in vec2 fragCoord )//void main(){ fragColor = vec4(123.0/255.0,193.0/255.0,182.0/255.0,1.0);}#elif TUTORIAL == 3/* vec4有x,y,z,a三个变量分别代表r,g,b,a;其中a表示不透明度*/void mainImage( out vec4 fragColor, in vec2 fragCoord )//void main(){ float r = 234.0/255.0; float g = 125.0/255.0; float b = 68.0/255.0; vec4 color = vec4(0); color.r = r; color.g = g; color.b = b; fragColor = color;}#elif TUTORIAL == 4/* 坐标,左下角为原点,xy分辨上右和向左,gl_FracCoord表示对应像素的点。*/ void mainImage( out vec4 fragColor, in vec2 fragCoord )//void main(){ vec4 left = vec4(138.0,141.0,132.0,255.0)/255.0; vec4 right = vec4(220.0,198.0,138.0,255.0)/255.0; float threadHold = 100.0; vec2 xy = fragCoord.xy; if (xy.x < threadHold){ fragColor = left; }else{ fragColor = right; }}#elif TUTORIAL == 5/* iResolution表示屏幕的宽度, uv = fragCoord.xy/iResolution.xy得到一个二维向量,表示相对于屏幕所在的位置 uv.x 大小为0到1,0为最左边,1为最右边 uv.y 大小为0到1,0为最下边,1为最上边*/ void mainImage( out vec4 fragColor, in vec2 fragCoord )//void main(){ vec4 upper = vec4(217,180,170,255.0)/255.0; vec4 middle = vec4(232,194,174,255.0)/255.0; vec4 buttom = vec4(254,232,220,255.0)/255.0; vec2 uv = fragCoord.xy/iResolution.xy; if (uv.y < 0.3){ fragColor = buttom; }else if( uv.y <0.6) { fragColor = middle; }else{ fragColor = upper; }}#endif
阅读全文
0 0
- ShaderToy指南1:颜色和坐标
- shadertoy上手指南
- shadertoy
- ShaderToy
- ShaderToy
- 【笔记】《WebGL编程指南》学习-第5章颜色与纹理(1-将非坐标传入顶点着色器))
- Maven入门指南③:坐标和依赖
- Maven入门指南③:坐标和依赖
- Maven入门指南③:坐标和依赖
- Maven入门指南③:坐标和依赖
- 颜色矩阵(ColorMatrix)和坐标变换矩阵(Matrix)
- 【转】图片处理:颜色矩阵和坐标变换矩阵
- Android图片处理:颜色矩阵和坐标变换矩阵
- Android图片处理:颜色矩阵和坐标变换矩阵
- ios-navigation的颜色和透明度影响view的坐标
- 把Shadertoy上的shader应用到UE4和Maya
- Shadertoy编程学习(1):第一个shader程序
- 我的shaderToy之用shader画球(1)
- 没有任何需求的情况下,如何展开性能测试工作
- 信号槽
- Web应用中设置了异常统一处理页面,捕捉指定异常时的处理问题
- Java利用fastdfs-client-java开发工具包操作FastDFS分布式文件系统
- Android系统所有可申明权限
- ShaderToy指南1:颜色和坐标
- MySQL四种常用索引类型
- hibernate中把查询出来的集合封装为对象集合
- Java 8 lambda stream forEach parallel 等循环与Java 7 for each 循环耗时测试
- HTML/CSS基础笔记(day01)
- Spring源码深度解析(三)Spring的结构组成
- adb 从手机拷贝文件
- 【theano-windows】学习笔记三——theano中的导数
- ios ffmpeg(libfdk-aac) aac encode