![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
OpenGL Shader
tsa
~~~~~~~~~~~~~~~~~~~~~~
展开
-
【GLSL教程】(九)其他说明
本文转载自http://blog.csdn.net/racehorse/article/details/6664775法线矩阵在很多顶点shader中都用到了gl_NormalMatrix。这里将介绍这个矩阵是什么,以及它的作用。大部分计算是在视图空间内完成的,主要原因是光照的运算要放在这个空间内,否则一些依赖观察点坐标的效果,比如镜面反射光就很难实现。所以我们需要将法线变转载 2016-08-29 11:35:36 · 422 阅读 · 1 评论 -
【GLSL教程】(四)shder的简单示例
本文转载自http://blog.csdn.net/racehorse/article/details/6638455GLSL的Hello World这一节中包含一个最基本的shader,它提供如下功能:顶点变换然后使用单一的颜色渲染图元。顶点shader前面已经说过,顶点shader负责完成顶点变换。这里将按照固定功能的方程完成顶点变换。固定功转载 2016-08-29 11:28:45 · 312 阅读 · 0 评论 -
【GLSL教程】(三)在OpenGL中向shader传递信息
本文转载自http://blog.csdn.net/racehorse/article/details/6634830引言一个OpenGL程序可以用多种方式和shader通信。注意这种通信是单向的,因为shader的输出只能是渲染到某些目标,比如颜色和深度缓存。OpenGL的部分状态可以被shader访问,因此程序改变OpenGL某些状态就可以与shader进行通信了。转载 2016-08-29 11:26:57 · 309 阅读 · 0 评论 -
【GLSL教程】(二)在OpenGL中使用GLSL
本文转载自http://blog.csdn.net/racehorse/article/details/6616256设置GLSL这一节讲述在OpenGL中配置GLSL,假设你已经写好了顶点shader和像素shader。如果你还没有准备好,可以从如下网址获得相关内容:http://www.3dshaders.com/home/http://www.op转载 2016-08-29 11:22:41 · 368 阅读 · 0 评论 -
【GLSL教程】(一)图形流水线
本文转载自http://blog.csdn.net/racehorse/article/details/6593719这是一些列来自lighthouse3d的GLSL教程,非常适合入门。我将边学习边翻译该教程的内容,同时记录在这里,方便以后查询。流水线概述下图描述了一个简化的图形处理流水线,虽然简略但仍然可以展示着色器编程(shader programm转载 2016-08-29 11:19:54 · 330 阅读 · 0 评论 -
【GLSL教程】(七)逐像素的光照
本文转载自http://blog.csdn.net/racehorse/article/details/6662540逐像素的方向光(Directional Light per Pixel)这一节将把前面的shader代码改为逐像素计算的方向光。我们需要将工作按照两个shader拆分,以确定哪些是需要逐像素操作的。首先看看每个顶点接收到的信息:•法线•半向量•光源方转载 2016-08-29 11:33:19 · 425 阅读 · 0 评论 -
【GLSL教程】(六)逐顶点的光照
本文转载自http://blog.csdn.net/racehorse/article/details/6658731引言在OpenGL中有三种类型的光:方向光(directional)、点光(point)、聚光(spotlight)。本教程将从方向光讲起,首先我们将使用GLSL来模仿OpenGL中的光。我们将向shader中逐渐添加环境光、散射光和高光效果。后转载 2016-08-29 11:31:46 · 361 阅读 · 0 评论 -
【GLSL教程】(五)卡通着色
本文转载自http://blog.csdn.net/racehorse/article/details/6641623引言卡通着色可能是最简单的非真实模式shader。它使用很少的颜色,通常是几种色调(tone),因此不同色调之间是突变的效果。下图显示的就是我们试图达到的效果:茶壶上的色调是通过角度的余弦值选择的,这个角度是指光线和面的法线之间的夹角角度。如果法线和光的夹角转载 2016-08-29 11:31:07 · 307 阅读 · 0 评论 -
【GLSL教程】(八)纹理贴图
本文转载自http://blog.csdn.net/racehorse/article/details/6664717简单的纹理贴图(Simple Texture)为了在GLSL中应用纹理,我们需要访问每个顶点的纹理坐标。GLSL中提供了一些属性变量,每个纹理单元一个:[cpp] view plain copyattribute转载 2016-08-29 11:34:56 · 477 阅读 · 0 评论