KnowledgeHub
Questions
Tags
Users
Search
Alex Rivera
|
Logout
Edit Question
Title
Body
I tried to run a simple OpenGL 3 app with the following vertex shader program:- in vec4 vPosition; out vec2 otexcoord; uniform mat4 modelview; uniform mat4 projection; void main() { gl_Position = projection * modelview * vPosition; otexcoord.s = vPosition.x; otexcoord.t = vPosition.y * -1.0; }; I've run this code on 3 GPUs, from different company, and the results are different. With Intel's driver, there's no error and it runs perfectly. With Nvidia's driver, the error is 'out can't be used with non-varying otexcoord'. With AMD's driver, the error is 'Implicit version number 110 not supported by GL3 forward compatible context' The AMD's one seems to be the least obvious. In fact I don't have any idea about it. Below is some query string Intel: OpenGL 3.2.0 - Build 9.17.10.2932 GLSL 1.50 - Build 9.17.10.2932 Nvidia: OpenGL 3.2.0 GLSL 1.50 NVIDIA via Cg compiler AMD: OpenGL 3.2.12002 Core Profile Context 9.12.0.0 GLSL 4.20 Intel's and Nvidia's are similar, it's a GLSL 1.50 compiler. The AMD's is GLSL 4.20 Below is the question:- Between Intel's and Nvidia's compilers, which one is working correctly in this case? What does the error message from AMD's compiler really mean ? And what do I need to correct the error.
Tags (comma-separated)
Save Edits
Cancel