Hello Gerrit,
I definitely do need some help with this error. The rendering is still
incorrect on my AMD/ATI graphic adapter.
I have synchronized with the latest git master and enabled the following
switches:
OSG_ENABLE_MULTISHADER_VARCHUNK:BOOL=ON
OSG_ENABLE_OGL2_SHADERFUNCTIONS:BOOL=ON
OSG_ENABLE_OGL_VERTEXATTRIB_FUNCS:BOOL=ON
OSG_ENABLE_NEW_GEOHANDLER:BOOL=ON
OSG_ENABLE_OGL_COREONLY:BOOL=OFF
OSG_ENABLE_OGL_ES2:BOOL=OFF
OSG_ENABLE_OGL_ES2_SIMGL3:BOOL=OFF
OSG_ENABLE_OGL3_PROTOS:BOOL=OFF
OSG_ENABLE_OGL4_PROTOS:BOOL=OFF
OSG_ENABLE_OGLES_PROTOS:BOOL=OFF
I have changed my shader code as follows:
1. Vertex shader
----------------
#version 330 compatibility
varying vec3 vTranfNormal;
varying vec4 vPosition;
layout(location = 2) in vec3 N;
vec3 fnormal(void)
{
vec3 normal = gl_NormalMatrix * N;
normal = normalize(normal);
return normal;
}
void main()
{
gl_Position = ftransform();
gl_ClipVertex = gl_ModelViewMatrix * gl_Vertex;
vTranfNormal = fnormal();
vPosition = gl_Vertex;
}
2. Fragment shader
------------------
#version 330 compatibility
....rest unchanged.
After start of my application I create some geometry as follows
MaterialGroupUnrecPtr matCore =
graphic::createMaterialCore(_spSceneManager, *dspm);
MaterialGroupUnrecPtr mgrp = MaterialGroup::create();
mgrp->setMaterial(mat);
ChunkMaterialUnrecPtr mat = createChunkMaterial(rSDM,
spSceneManager->rImageData());
ShaderProgramVariableChunkUnrecPtr variableChunk =
ShaderProgramVariableChunk::create();
mat->addChunk(variableChunk);
variableChunk->addUniformVariable("uIsTwoSidedLighting",
false);
...
mat->addChunk(spSceneManager->getMaterialShader(PHONG_MATERIAL_SHADER));
geomPartNode->setCore(matCore);
I.e. nothing fancy, just a chunk material with a shader chunk and a
variable chunk and some 'classic' GL state chunks.
Ok, rendering is now correct. However, if I switch to classic non shader
based rendering by subracting of the shader chunk from my material the
surface normals are lost leading to flat shading. But, if I create new
geometry without the shader chunk it is rendered correct. Again, if I
switch the render mode by adding the shader chunk to the two materials
the second geometry is only flat shaded and the first one is correct again.
So switching by adding/subtracting of the shader chunk does not work on
the AMD/ATI platform.
Do you have any idea what I can do/check/change/look for in order to get
my setup running again?
Best,
Johannes
------------------------------------------------------------------------------
Open source business process management suite built on Java and Eclipse
Turn processes into business applications with Bonita BPM Community Edition
Quickly connect people, data, and systems into organized workflows
Winner of BOSSIE, CODIE, OW2 and Gartner awards
http://p.sf.net/sfu/Bonitasoft
_______________________________________________
Opensg-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/opensg-users