env is osg3.6.4
//Effect of the original
//
The following Shader render effect
char ModelVertexShaderSource[] =
"#version 330 core\n"
"in vec4 osg_Vertex;\n"
"in vec4 osg_MultiTexCoord0;\n"
"in vec4 osg_MultiTexCoord1;\n"
"uniform mat4 osg_ModelViewProjectionMatrix; \n"
"out vec2 uv; \n"
"out vec2 uv1; \n"
" \n"
"void main() \n"
"{ \n"
" gl_Position = osg_ModelViewProjectionMatrix * osg_Vertex; \n"
" uv = osg_MultiTexCoord0.xy; \n"
" uv1 = osg_MultiTexCoord1.xy; \n"
"} \n";
char ModelFragmentShaderSource[] =
"#version 330 core\n"
"uniform sampler2D sampler0; \n"
"uniform sampler2D sampler1; \n"
"in vec2 uv; \n"
"in vec2 uv1; \n"
"out vec4 FragColor; \n"
"void main() \n"
"{ \n"
" vec4 hdrColor = texture2D(sampler0,uv); \n"
" vec4 hdrColor1 = texture2D(sampler1,uv); \n"
" FragColor = hdrColor * hdrColor1; \n"
"} \n";
//the part of .osg file data
Group {
UniqueID Group_0
DataVariance STATIC
name "Scene Root"
nodeMask 0xffffffff
cullingActive TRUE
StateSet {
DataVariance STATIC
rendering_hint DEFAULT_BIN
renderBinMode INHERIT
GL_LIGHTING ON
GL_NORMALIZE ON
}
num_children 1
Group {
DataVariance STATIC
name "出租车"
nodeMask 0xffffffff
cullingActive TRUE
num_children 5
Group {
DataVariance STATIC
name "boli"
nodeMask 0xffffffff
cullingActive TRUE
description "3d66Models: www.3d66.com-ID:1092598"
num_children 1
Geode {
DataVariance STATIC
name "boli-GEODE"
nodeMask 0xffffffff
cullingActive TRUE
num_drawables 2
Geometry {
DataVariance STATIC
name "XFC_03"
StateSet {
DataVariance STATIC
name "XFC_03"
rendering_hint DEFAULT_BIN
renderBinMode USE
binNumber 10
binName DepthSortedBin
GL_CULL_FACE OVERRIDE|OFF
GL_LIGHTING ON
GL_NORMALIZE ON
GL_BLEND ON
Material {
UniqueID Material_1
ColorMode OFF
ambientColor 0.588 0.588 0.588 1
diffuseColor 1 1 1 1
specularColor 0 0 0 1
emissionColor 0 0 0 1
shininess 12.8
}
LightModel {
UniqueID LightModel_2
ambientIntensity 0.2 0.2 0.2 1
colorControl SINGLE_COLOR
localViewer FALSE
twoSided TRUE
}
BlendFunc {
UniqueID BlendFunc_3
source SRC_ALPHA
destination ONE_MINUS_SRC_ALPHA
}
textureUnit 0 {
GL_TEXTURE_2D ON
Texture2D {
UniqueID Texture2D_4
file "images\\XFC_03.tga"
wrap_s REPEAT
wrap_t REPEAT
wrap_r CLAMP_TO_EDGE
min_filter LINEAR_MIPMAP_LINEAR
mag_filter LINEAR
maxAnisotropy 1
borderColor 0 0 0 0
borderWidth 0
useHardwareMipMapGeneration TRUE
unRefImageDataAfterApply TRUE
internalFormatMode USE_IMAGE_DATA_FORMAT
resizeNonPowerOfTwo FALSE
shadowComparison FALSE
shadowCompareFunc GL_LEQUAL
shadowTextureMode GL_LUMINANCE
}
}
textureUnit 1 {
GL_TEXTURE_2D ON
Use Texture2D_4
TexEnvCombine {
UniqueID TexEnvCombine_5
combine_RGB REPLACE
combine_Alpha INTERPOLATE
source0_RGB PREVIOUS
source1_RGB PREVIOUS
source2_RGB CONSTANT
source0_Alpha TEXTURE
source1_Alpha PREVIOUS
source2_Alpha CONSTANT
operand0_RGB SRC_COLOR
operand1_RGB SRC_COLOR
operand2_RGB SRC_ALPHA
operand0_Alpha SRC_ALPHA
operand1_Alpha SRC_ALPHA
operand2_Alpha SRC_ALPHA
scale_RGB 1
scale_Alpha 1
constantColor 1 1 1 1
}
}
}
..............................
..............................