
GLSL
dancing_night
不积跬步无以至千里,qq联系方式:821486004
展开
-
osg实现法线贴图
1、tbn计算原理第十三课:法线贴图2、顶点shader// vertex shaderuniform vec3 lightpos; //传入光源的坐标uniform vec3 eyepos;varying vec3 lightdir;varying vec3 halfvec;varying vec3 norm;varying vec3 eyedir; attribute vec3 rm_Tangent; void main(void){ vec4 pos = g原创 2022-01-18 14:37:12 · 1517 阅读 · 5 评论 -
GLSL学习笔记---之内建变量
GLSL语言内置的变量,包括内置的顶点属性(attribute)、一致变量(uniform)、易变变量(varying)以及常量(const),一方面加深印象,另一方面今天的文章可以为以后的编程做查询之用。顶点属性—— 指顶点的信息,OpenGL据此绘制各个图元,对于传统的顶点属性包括坐标、纹理坐标、颜色等GLSL都会设置一个内置变量与之对应,以便在需要时可以在 顶点或片元着色器中直接引用转载 2016-03-15 16:21:50 · 1762 阅读 · 0 评论 -
GLSL学习笔记---之内建变量2
有些OpenGL ES操作在顶点处理器和片元处理器之间有特定的功能,有些在片元处理器之后又特定的功能,着色器通过内建变量同这些固定功能进行通信。 在OpenGL ES中,内建特殊变量部分来自顶点着色器的输出变量,部分来自于片元着色器的输入变量和输出变量。不同于用户定义的varying变量,内建特殊变量不用在顶点语言和片元语言之间保持严格的一对一对应。相反,两个语言各有自己的一转载 2016-03-15 16:24:51 · 654 阅读 · 0 评论 -
GLSL学习笔记---之内建函数
OpenGL ES着色语言为标量和向量操作定义了一套内建便利函数。有些内建函数可以用在多个类型的着色器中,有些是针对固定硬件的,所以这部分只能用在某个特定的着色器上。 内建函数基本上可以分为一下三类:(1)它们使用一些简便的方式提供必要的硬件功能,如材质贴图。这些函数单独通过着色器是无法模拟出来的。(2)它们展示了一些可以常简单的写入的繁琐操作(clamp, m转载 2016-03-15 16:26:18 · 754 阅读 · 0 评论 -
osg结合shader写的shadowmap
简介shadowmap示例,根据http://www.opengl-tutorial.org/intermediate-tutorials/tutorial-16-shadow-mapping/教程用osg写的demo 原理在教程上说的很清楚了代码/**shadowmap示例,根据http://www.opengl-tutorial.org/intermediate-tutorials/tuto原创 2016-11-09 16:06:12 · 3678 阅读 · 3 评论 -
GLSL语言基础
变量GLSL的变量命名方式与C语言类似。变量的名称可以使用字母,数字以及下划线,但变量名不能以数字开头,还有变量名不能以gl_作为前缀,这个是GLSL保留的前缀,用于GLSL的内部变量。当然还有一些GLSL保留的名称是不能够作为变量的名称的。基本类型除了布尔型,整型,浮点型基本类型外,GLSL还引入了一些在着色器中经常用到的类型作为基本类型。这些基本类型都可以作为结构体内部的类型。转载 2016-11-29 14:56:43 · 741 阅读 · 0 评论