Unity中写GLSL —— 常用的一些内置变量

本页的内容参考了Wiki:
https://en.wikibooks.org/wiki/GLSL_Programming/Unity/Shading_in_World_Space

首先是一些顶点相关的:
gl_Vertex //模型坐标
gl_Position //projection过后顶点坐标
gl_MultiTexCoord0 //uv坐标
gl_Normal //法线
gl_FragColor //片元着色器内的颜色

一些要用到的矩阵:
本来是要#include "UnityCG.glslinc"的,但是没这行代码好像也能用下面的这些built-in uniforms.
uniform vec4 _Time, _SinTime, _CosTime; // time values from Unity
  uniform vec4 _ProjectionParams;
     // x = 1 or -1 (-1 if projection is flipped)
     // y = near plane; z = far plane; w = 1/far plane
  uniform vec4 _ScreenParams; 
     // x = width; y = height; z = 1 + 1/width; w = 1 + 1/height
  uniform vec4 unity_Scale; // w = 1/scale; see _World2Object
  uniform vec3 _WorldSpaceCameraPos;
  uniform mat4 _Object2World; // model matrix
  uniform mat4 _World2Object; // inverse model matrix 
     // (all but the bottom-right element have to be scaled 
     // with unity_Scale.w if scaling is important) 
  uniform vec4 _LightPositionRange; // xyz = pos, w = 1/range
  uniform vec4 _WorldSpaceLightPos0; 
     // position or direction of light source
  uniform vec4 _LightColor0; // color of light source 
  uniform mat4 _LightMatrix0; // matrix to light space

还有这些:
貌似都可以直接用
uniform mat4 gl_ModelViewMatrix;
  uniform mat4 gl_ProjectionMatrix;
  uniform mat4 gl_ModelViewProjectionMatrix;
  uniform mat4 gl_TextureMatrix[gl_MaxTextureCoords];
  uniform mat3 gl_NormalMatrix; 
     // transpose of the inverse of gl_ModelViewMatrix
  uniform mat4 gl_ModelViewMatrixInverse;
  uniform mat4 gl_ProjectionMatrixInverse;
  uniform mat4 gl_ModelViewProjectionMatrixInverse;
  uniform mat4 gl_TextureMatrixInverse[gl_MaxTextureCoords];
  uniform mat4 gl_ModelViewMatrixTranspose;
  uniform mat4 gl_ProjectionMatrixTranspose;
  uniform mat4 gl_ModelViewProjectionMatrixTranspose;
  uniform mat4 gl_TextureMatrixTranspose[gl_MaxTextureCoords];
  uniform mat4 gl_ModelViewMatrixInverseTranspose;
  uniform mat4 gl_ProjectionMatrixInverseTranspose;
  uniform mat4 gl_ModelViewProjectionMatrixInverseTranspose;
  uniform mat4 gl_TextureMatrixInverseTranspose[gl_MaxTextureCoords];

  struct gl_LightModelParameters { vec4 ambient; };
  uniform gl_LightModelParameters gl_LightModel;
  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值