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

📄 wood.frag

📁 java 3d编程的一些例子源代码
💻 FRAG
字号:
//// Simple fragment shader for wood//// Author: John Kessenich//// Copyright (c) 2002-2004 3Dlabs Inc. Ltd.//// See 3Dlabs-License.txt for license information////uniform float GrainSizeRecip;//uniform vec3  DarkColor;//uniform vec3  spread;const float GrainSizeRecip = 1.0;const vec3  DarkColor = vec3 (0.6, 0.3, 0.1);const vec3  spread = vec3 (0.15, 0.075, 0.0);varying float lightIntensity; varying vec3 Position;void main (void){    //    // cheap noise    //    vec3 location = Position;    vec3 floorvec = vec3(floor(10.0 * Position.x), 0.0, floor(10.0 * Position.z));    vec3 noise = Position * 10.0 - floorvec - 0.5;    noise *= noise;    location += noise * 0.12;    //    // distance from axis    //    float dist = location.x * location.x + location.z * location.z;    float grain = dist * GrainSizeRecip;    //    // grain effects as function of distance    //    float brightness = fract(grain);    if (brightness > 0.5)         brightness = (1.0 - brightness);    vec3 color = DarkColor + brightness * spread;        brightness = fract(grain * 7.0);        if (brightness > 0.5)         brightness = 1.0 - brightness;    color -= brightness * spread;    //    // also as a function of lines parallel to the axis    //    brightness = fract(grain * 47.0) * 0.60;    float line = fract(Position.z + Position.x);    float snap = floor(line * 20.0) * (1.0/20.0);    if (line < snap + 0.006)        color -= brightness * spread;    //    // apply lighting effects from vertex processor    //    color = clamp(color * lightIntensity, 0.0, 1.0);     gl_FragColor = vec4(color, 1.0);}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -