如何使用OpenSceneGraph(OSG)填充着色​​器中的定义

时间:2018-06-05 12:22:23

标签: opengl shader define-syntax

我在着色器中遇到问题。着色器的一小部分:

#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

0 个答案:

没有答案