⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 aabrick.vert

📁 java 3d编程的一些例子源代码
💻 VERT
字号:
//// 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 + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -