Re: Blank screen with Mesa_offscreen render 11.1.2
Brian Paul <[email protected]>
| Newsgroups | gmane.comp.video.mesa3d.user |
|---|---|
| Message-ID | <[email protected]> |
I guess I'd start by trimming down the program, or writing a new test case, that does something extremely simple, like clearing the surface to non-black and see if that works. -Brian On 03/25/2016 02:16 AM, vikramnrao wrote: > Hi Brian, > > I added glFlush and glFinish still no luck with that. > Am I doing something wrong in the shader code ? > The same code works fine with the openGL libraries using freeglut and glew. > > > Thanks & Regards, > Vikram > > On Thu, Mar 24, 2016 at 7:15 PM, Brian Paul <[email protected] > <mailto:[email protected]>> wrote: > > On 03/24/2016 12:45 AM, vikramnrao wrote: > > Hi, > > Its been quite sometime that I am looking into Off screen rendering > using Mesa 11.1.2. :) > > I was able to render the textured model using Mesa 7.5.1 but > somehow I > couldn't manage lighting the scene there. > > However I want my code to run using Mesa 11.1.2. > I am not able to see anything in the off-screen rendered targa > image. > It just appears blank. > > What is wrong in the following code ? > > [...] > > > > > glGetError(); > // Draw the triangle ! > glDrawArrays(GL_TRIANGLES, 0, indexed_vertex_data.size()); > > > Try putting a glFlush() or glFinish() call here. > > -Brian > > > > > SaveScreenGrab("mesa_snapshot.tga"); > > > glDisableVertexAttribArray(vertexPosition_modelspaceID); > > // Cleanup VBO > glDeleteBuffers(1, &vertexbuffer); > glDeleteBuffers(1, &normalbuffer); > glDeleteBuffers(1, &uvbuffer); > glDeleteTextures(1, &diffuseMap); > glDeleteProgram(programID); > > } > > ************************* > Shader code > ************************* > -------------------- > vertex shader: > --------------------- > > attribute vec3 vertexPosition_modelspace; > attribute vec2 vertexUV; > attribute vec3 normalv; > > varying vec2 TexCoords; > varying vec3 normalf; > varying vec3 FragPos; > > uniform mat4 MVP; > uniform mat4 Model; > > > void main() { > > gl_Position = MVP * vec4(vertexPosition_modelspace,1); > FragPos = vec3(Model * vec4(vertexPosition_modelspace,1)); > normalf = vec3(Model * vec4(normalv,1)); > TexCoords = vertexUV; > > } > > > ------------------------ > Fragment shader: > ------------------------- > #version 120 > > struct Material{ > vec4 ambient; > vec4 diffuse; > vec4 specular; > float shininess; > }; > > struct DirLight { > vec3 direction; > vec3 ambient; > vec3 diffuse; > vec3 specular; > }; > > > in vec3 FragPos; > in vec3 normalf; > in vec2 TexCoords; > in vec3 vertexColor; > vec4 texel0; > > uniform sampler2D MeshTexture; > uniform DirLight dirLight; > out vec4 ResultFragColor; > uniform vec3 viewPos; > uniform Material material; > uniform float matAlpha; > > //Function prototype > vec4 SurfaceColor (in Material mat, in vec4 texel); > > void main() > { > > texel0 = texture2D(MeshTexture, TexCoords); > > vec3 norm = normalize(normalf); > vec3 viewDir = normalize(viewPos - FragPos); > vec3 lightDir = normalize(-dirLight.direction); > > // Diffuse shading > float diff = max(dot(norm, lightDir), 0.0); > > // Specular shading > vec3 reflectDir = reflect(-lightDir, norm); > float spec = pow(max(dot(viewDir, reflectDir), 0.0), > material.shininess); > > vec4 surfaceColorValue ; > surfaceColorValue = mix(material.diffuse, texel0, texel0.a); > surfaceColorValue.a = min(matAlpha*( 1 + texel0.a) , 1); > > vec4 ambient = vec4(dirLight.ambient, 1) * surfaceColorValue ; > vec4 diffuse = vec4(dirLight.diffuse, 1) * diff * > surfaceColorValue ; > vec4 specular = vec4(dirLight.specular, 1) * spec * > material.specular ; > > vec4 result = ambient + diffuse + specular ; > > ResultFragColor = result; > > } > > vec4 SurfaceColor (in Material mat, in vec4 texel) > { > vec4 SurfColor; > > SurfColor = mix(mat.diffuse, texel, texel.a); > SurfColor.a = min(matAlpha*( 1 + texel.a) , 1); > return SurfColor; > } > > } > > > > > Thanks & Regards, > Vikram > > > _______________________________________________ mesa-users mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/mesa-users