我试图了解阴影映射是如何独立工作的,并描述了这个 Python 程序来测试阴影映射,这是尽可能的。
我搜索了阴影贴图问题,但我还没有发现这样的事情已经发生了什么,那么我如何为灯光前面的正常旋转立方体着色以及如何校正阴影的位置以使其出现并将其准确地放在表面上?我只是在修改着色器。
import pyglet, math, pyrr, ctypes
import numpy as np
from OpenGL.GL import *
from OpenGL.GL.shaders import *
app = pyglet.window.Window()
v = """
in layout(location=0) vec3 posicao;
uniform mat4 view;
uniform vec3 translate;
uniform float rot;
uniform float rot2;
uniform vec3 t2;
out vec3 outpos;
void main(){
vec3 p = posicao;
p = vec3(sin(rot)*p.x+cos(rot)*p.z,p.y,-sin(rot)*p.z+cos(rot)*p.x);
p = translate+p+t2;
p = vec3(p.x,sin(rot2)*p.z+cos(rot2)*p.y,-sin(rot2)*p.y+cos(rot2)*p.z);
outpos = p;
gl_Position = view*vec4(p,1);
}
"""
f = """
uniform vec3 cor;
uniform int …Run Code Online (Sandbox Code Playgroud)