aabrick.vert
来自「java 3d编程的一些例子源代码」· VERT 代码 · 共 43 行
VERT
43 行
//// Vertex shader for antialiased procedural bricks//// Authors: Dave Baldwin, Steve Koren, Randi Rost// based on a shader by Darwyn Peachey//// Copyright (c) 2002-2004 3Dlabs Inc. Ltd. //// See 3Dlabs-License.txt for license information//uniform vec3 LightPosition;//const vec3 LightPosition = vec3 (0, 4, 4);const float SpecularContribution = 0.3;const float DiffuseContribution = 1.0 - SpecularContribution;varying float LightIntensity;varying vec2 MCposition;void main(void){ vec3 ecPosition = vec3 (gl_ModelViewMatrix * gl_Vertex); vec3 tnorm = normalize(gl_NormalMatrix * gl_Normal); vec3 lightVec = normalize(LightPosition - ecPosition); vec3 reflectVec = reflect(-lightVec, tnorm); vec3 viewVec = normalize(-ecPosition); float diffuse = max(dot(lightVec, tnorm), 0.0); float spec = 0.0; if (diffuse > 0.0) { spec = max(dot(reflectVec, viewVec), 0.0); spec = pow(spec, 16.0); } LightIntensity = DiffuseContribution * diffuse + SpecularContribution * spec; MCposition = gl_Vertex.xy; gl_Position = ftransform();}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?