Как заполнить определения в шейдере с помощью OpenSceneGraph (OSG) - PullRequest
0 голосов
/ 05 июня 2018

У меня проблемы с определением в шейдере.Маленький кусочек шейдера:

#pragma import_defines ( HAS_NORMALS )
#pragma import_defines ( HAS_TANGENTS )
#ifdef HAS_NORMALS
#ifdef HAS_TANGENTS
varying mat3 v_TBN;
#else
varying vec3 v_Normal;
#endif
#endif

В своей основной функции я делаю следующее:

stateSet->setDefine("HAS_TANGENTS");
stateSet->setDefine("HAS_NORMALS");

Но v_TBN не создает.Мне нравится в примере с shaderComposition, но что-то идет не так.https://github.com/artoolkit/osg/blob/master/examples/osgshadercomposition/osgshadercomposition.cpp https://github.com/openscenegraph/OpenSceneGraph-Data/blob/master/shaders/osgshadercomposition.frag

...