OpenGL
アプリケーションでスポット ライトを作成しようと勉強しています。私が使用しているコードを#vertex-shader
以下に示します。
#:vertex-shader #{
#version 150 core
in vec3 in_pos;
in vec2 in_tc;
out vec2 tc;
glLightf(GL_LIGHT0, GL_SPOT_CUTOFF, 20.0f);
GLfloat spot_direction[] = { -1.0, -1.0, 0.0 };
glLightfv(GL_LIGHT0, GL_SPOT_DIRECTION, spot_direction);
glEnable(GL_LIGHT0);
void main() {
vec4 pos= vec4(vec3(1.0)*in_pos - vec3(1.0), 1.0);
pos.z=0.0;
gl_Position = pos;
tc = in_tc;
}
}
問題は、コードを実行しようとするたびに、次のようなエラーが表示されることです。
Type: other, Source: api, ID: 131169, Severity: low
Message: Framebuffer detailed info: The driver allocated storage for renderbuffer 1.
len = 157, written = 0
failed to compile vertex shader of deferred: directional
info log for shader deferred: directional
vertex info log for shader deferred: directional:
ERROR: Unbound variable: when
仕様:
Renderer: GeForce GTX 580/PCIe/SSE2
Version: 3.3.0 NVIDIA 319.17
GLSL: 3.30 NVIDIA via Cg compiler
Status: Using GLEW 1.9.0
1024 x 768
OS: Linux debian
このスポットライトを作成するのは非常に簡単だと思いますが、私は本当に初めてなのでOpenGL
、今までその方法がわからず、次のようなソースを読んでもわかりません。
http://www.glprogramming.com/red/chapter05.html#name3
また、光点が非常に理解しにくい場所もありますが、講義のスケジュールに従っているため、今はこのステップを避けることはできません. 誰でも私を助けることができますか?