私はC++とPythonでOpenGLプログラムを作成し、このメッセージを受け取るすべてのコンピューターを作成しました
vertex shader(s) linked fragment shader(s) linked
空白の画面を表示します。グラフィックを見ることができる他のすべての人は、glGetProgramInfoLog()からのメッセージをまったく持っていません。私のラップトップはそのメッセージを表示し、何も見ることができません。具体的な例。私はOpengl3.1を持っています。私の友人は3.2を持っています。彼は、私がいつも見ることができるものを何も見ることができません。彼はそのメッセージを受け取ります。これは私のC++プログラムでも起こります。最初にプログラムを検証する必要がありますか?7人中3人は何も見えず、全員がそのメッセージを受け取ります。それを見ることができるものは、シェーダーから単一のメッセージを受け取りません。
これが私のシェーダーのすべてです。
def init_shaders(self):
vert_shader=glCreateShader(GL_VERTEX_SHADER)
frag_shader=glCreateShader(GL_FRAGMENT_SHADER)
vert_text="""
varying vec2 texcoord;
attribute vec3 inputvertex;
uniform float ifintex;
attribute vec2 input_texcoord;
void main() {
texcoord = (gl_MultiTexCoord0.xy*ifintex)+input_texcoord.xy;
vec4 position = vec4(inputvertex,1.0);
gl_Position = gl_ModelViewProjectionMatrix * position;
}
"""
frag_text="""
uniform sampler2D texture_map;
uniform vec4 add_color;
varying vec2 texcoord;
void main(){
gl_FragColor = texture2D(texture_map, texcoord.xy)+add_color;
}
"""
glShaderSource(vert_shader,vert_text)
glShaderSource(frag_shader,frag_text)
glCompileShader(vert_shader)
glCompileShader(frag_shader)
self.Shader=glCreateProgram()
glAttachShader(self.Shader,vert_shader)
glAttachShader(self.Shader,frag_shader)
glLinkProgram(self.Shader)
error=glGetProgramInfoLog(self.Shader)
if error!="":
print error
else:
print "Shaders Compiled"
glUseProgram(self.Shader)
何か問題がありますか?単なる通知だと思っていたのですが、疑わしいパターンでした。