|
|
| Line 1: |
Line 1: |
| − | EP0-TS2
| + | EP6-BV |
| | 0xCD7FE87A | | 0xCD7FE87A |
| | 0x1C0532FA | | 0x1C0532FA |
| Line 7: |
Line 7: |
| | | | |
| | # | | # |
| − | # Various material definitions for the ContentViewer. | + | # Material configuration file for ContentViewer |
| | # | | # |
| | | | |
| − | # note: don't check this in -- seems to cause a crash if
| + | version 2 |
| − | # you don't have the debugger set up correctly
| + | |
| − | #enableShaderProgramDebugging -vertex
| + | |
| | | | |
| − | # anything extra needed by the contentviewer should be moved
| + | ignoreErrors true |
| − | # from config.matShad to common.matShad.
| + | |
| − | #include "config.matshad"
| + | |
| | | | |
| − | # Lab extension stuff
| + | flushMaterials |
| − |
| + | |
| − | define ShowRenderTypeMaterial()
| + | |
| − | material
| + | |
| − | shader
| + | |
| − | viewerRenderTypePred viewerRenderType
| + | |
| | | | |
| − | pass -fixedFunction
| + | #include "debugging_support.matShad" # uncomment for debug configuration settings |
| − | ffMatCoef -diff (1, 0, 0)
| + | |
| − | seti rt (viewerRenderType + 1)
| + | |
| − | setc rtColor ((floor($rt / 4) % 2), (floor($rt / 2) % 2), (floor($rt) % 2))
| + | |
| − | ffMatCoef -diff $rtColor
| + | |
| − | create LightingStates()
| + | |
| − |
| + | |
| − | stage
| + | |
| − | textureBlend select(diffuse) select(diffuse)
| + | |
| − | end
| + | |
| − | end
| + | |
| − | end
| + | |
| − | end
| + | |
| − | enddef
| + | |
| | | | |
| − | define TestGlow-AsmVertexProgram(numPass)
| + | setb isContentViewer true |
| − | vertexFormatPred position 0 true
| + | |
| | | | |
| − | shaderProgram -target vertexProgram -method assemble
| + | # Common definition files. Please put all materials |
| − | bindConstants 0 -bindingID geomToCamera -constantCount 3
| + | # shared by the game and content viewer here. |
| − | bindConstants 3 -bindingID cameraToClip -constantCount 4
| + | include "common.matShad" |
| | | | |
| − | shaderSource
| + | # Content-viewer specific |
| − | vs_1_1
| + | include "contentViewer.matShad" |
| − | dcl_position v0
| + | |
| − | dcl_normal v1
| + | |
| | | | |
| − | def c7,$color,0
| + | bindMaterials |
| − | def c8,$offset,0
| + | |
| − | def c9,$glowOffset,0
| + | |
| − | def c10,$glowColor
| + | |
| − | def c11, &{numPass},&{numPass},&{numPass},0
| + | |
| − |
| + | |
| − | add r0, v0, c8 ; add the offset
| + | |
| − |
| + | |
| − | ; add the glow offset along the normal
| + | |
| − | mov r1, c9
| + | |
| − | mov r2, v1
| + | |
| − | mul r0, c11, r1 ; numPass * glowOffset
| + | |
| − | mad r0, r2, r0, v0 ; (numPass * glowOffset * normal) + pos
| + | |
| − | add r0, r0, c8 ; (numPass * glowOffset * normal) + pos + offset
| + | |
| − |
| + | |
| − | m4x3 r1.xyz, r0, c0
| + | |
| − | mov r1.w, v0.w
| + | |
| − | m4x4 oPos, r1, c3
| + | |
| − | mov r2, c7
| + | |
| − | add oD0, r2, c10
| + | |
| − | endShaderSource
| + | |
| − | end
| + | |
| − | enddef
| + | |
| − | | + | |
| − | define SimpleVS()
| + | |
| − | # vertex program
| + | |
| − | shaderProgram -target vertexProgram -method assemble
| + | |
| − | bindConstants 0 -bindingID geomToCamera -constantCount 3
| + | |
| − | bindConstants 3 -bindingID cameraToClip -constantCount 4
| + | |
| − |
| + | |
| − | shaderSource
| + | |
| − | vs_1_1
| + | |
| − | dcl_position v0
| + | |
| − |
| + | |
| − | def c7,$color
| + | |
| − |
| + | |
| − | m4x3 r1.xyz, v0, c0
| + | |
| − | mov r1.w, v0.w
| + | |
| − |
| + | |
| − | m4x4 oPos, r1, c3
| + | |
| − | mov oD0, c7
| + | |
| − | endShaderSource
| + | |
| − | end
| + | |
| − | enddef
| + | |
| − | | + | |
| − | define SimplePS()
| + | |
| − | # pixel program
| + | |
| − | shaderProgram -target pixelProgram -method assemble
| + | |
| − | shaderSource
| + | |
| − | ps_1_1
| + | |
| − | mov r0, v0
| + | |
| − | endShaderSource
| + | |
| − | end
| + | |
| − | enddef
| + | |
| − | | + | |
| − | setb glowEnabled false
| + | |
| − | define MaterialWithGlow()
| + | |
| − | # test material for glow effect
| + | |
| − | seti maxRenderTargets (queryIntegerGraphicsDeviceCap(numSimultaneousRTs))
| + | |
| − |
| + | |
| − | material
| + | |
| − | shader
| + | |
| − | if ($maxRenderTargets > 1) # MRTs allowed, write out two color values in a single pass
| + | |
| − | pass
| + | |
| − | renderTarget viewerRenderTarget -colorBuffers 2 # use two of the color buffers from the glow texture
| + | |
| − | vertexFormatPred position 0 true
| + | |
| − |
| + | |
| − | # vertex program
| + | |
| − | shaderProgram -target vertexProgram -method assemble
| + | |
| − | bindConstants 0 -bindingID geomToCamera -constantCount 3
| + | |
| − | bindConstants 3 -bindingID cameraToClip -constantCount 4
| + | |
| − |
| + | |
| − | shaderSource
| + | |
| − | vs_3_0
| + | |
| − | dcl_position v0
| + | |
| − | dcl_position0 o0
| + | |
| − | dcl_color o1
| + | |
| − |
| + | |
| − | def c7,$color
| + | |
| − |
| + | |
| − | m4x3 r1.xyz, v0, c0
| + | |
| − | mov r1.w, v0.w
| + | |
| − |
| + | |
| − | m4x4 o0, r1, c3
| + | |
| − | mov o1, c7
| + | |
| − | endShaderSource
| + | |
| − | end
| + | |
| − |
| + | |
| − | # pixel program
| + | |
| − | shaderProgram -target pixelProgram -method assemble
| + | |
| − | shaderSource
| + | |
| − | ps_3_0
| + | |
| − |
| + | |
| − | dcl_color v0
| + | |
| − | mov oC0, v0
| + | |
| − | mov oC1, v0
| + | |
| − | endShaderSource
| + | |
| − | end
| + | |
| − | end
| + | |
| − | else # only one render target allowed, use two passes
| + | |
| − | if ($glowEnabled)
| + | |
| − | pass # 1
| + | |
| − | # render object to glow buffer
| + | |
| − | renderTarget viewerRenderTarget
| + | |
| − |
| + | |
| − | vertexFormatPred position 0 true
| + | |
| − | create SimpleVS()
| + | |
| − | create SimplePS()
| + | |
| − | end
| + | |
| − | endif
| + | |
| − |
| + | |
| − | pass # 2
| + | |
| − | # render object to backbuffer
| + | |
| − | # Note: The backbuffer rendering pass should generally come after
| + | |
| − | # all passes that render to other textures.
| + | |
| − | # This is so that the render target is set to the backbuffer for
| + | |
| − | # the next object to be rendered (which may not explicitly set it).
| + | |
| − | renderTarget viewerCompositingTarget
| + | |
| − |
| + | |
| − | vertexFormatPred position 0 true
| + | |
| − | create SimpleVS()
| + | |
| − | create SimplePS()
| + | |
| − | end
| + | |
| − | endif
| + | |
| − | end
| + | |
| − | end
| + | |
| − | enddef
| + | |
| − | | + | |
| − | | + | |
| − | if (not varExists(mvMaterialDefinition))
| + | |
| − | set mvMaterialDefinition StandardMaterial
| + | |
| − | endif
| + | |
| − | | + | |
| − | materialDefinition MVLab-CubeMat
| + | |
| − | setDefinition $mvMaterialDefinition
| + | |
| − | addParam stdMatDiffCoef (0, 0, 1)
| + | |
| − | end
| + | |
| − | | + | |
| − | materialDefinition "MVLab-SphereMat"
| + | |
| − | setDefinition $mvMaterialDefinition
| + | |
| − | end
| + | |
| − | | + | |
| − | materialDefinition "MVLab-ConeMat"
| + | |
| − | setDefinition $mvMaterialDefinition
| + | |
| − | addParam stdMatDiffCoef (1, 0.5, 0)
| + | |
| − | end
| + | |
| − | | + | |
| − | materialDefinition MVLab-CylinderMat
| + | |
| − | setDefinition $mvMaterialDefinition
| + | |
| − | addParam stdMatDiffCoef (1, 1, 0)
| + | |
| − | end
| + | |
| − | | + | |
| − | materialDefinition MVLab-MeshMat
| + | |
| − | setDefinition $mvMaterialDefinition
| + | |
| − | addParam stdMatDiffCoef (0, 0, 1)
| + | |
| − | end
| + | |
| − | | + | |
| − | materialDefinition MVLab-CylinderTopMat
| + | |
| − | setDefinition $mvMaterialDefinition
| + | |
| − | addParam stdMatDiffCoef $blue
| + | |
| − | end
| + | |
| − | | + | |
| − | materialDefinition MVLab-CylinderBottomMat
| + | |
| − | setDefinition $mvMaterialDefinition
| + | |
| − | addParam stdMatDiffCoef $blue
| + | |
| − | end
| + | |
| − | | + | |
| − | materialDefinition MVLab-CylinderPanel0Mat
| + | |
| − | setDefinition $mvMaterialDefinition
| + | |
| − | addParam stdMatDiffCoef $green
| + | |
| − | end
| + | |
| − | | + | |
| − | materialDefinition MVLab-CylinderPanel1Mat
| + | |
| − | setDefinition $mvMaterialDefinition
| + | |
| − | addParam stdMatDiffCoef $yellow
| + | |
| − | end
| + | |
| − | | + | |
| − | materialDefinition MVLab-CylinderPanel2Mat
| + | |
| − | setDefinition $mvMaterialDefinition
| + | |
| − | addParam stdMatDiffCoef $purple
| + | |
| − | end
| + | |
| − | | + | |
| − | materialDefinition MVLab-CylinderPanel3Mat
| + | |
| − | setDefinition $mvMaterialDefinition
| + | |
| − | addParam stdMatDiffCoef $red
| + | |
| − | end
| + | |
| − | | + | |
| − | | + | |
| − | | + | |
| − | | + | |
| − | ##############################################################
| + | |
| − | # Render to texture stuff
| + | |
| − | #
| + | |
| − | set mvAspect 1
| + | |
| − | set mvOffset ((1 - $mvAspect) / 2)
| + | |
| − | | + | |
| − | define MVLab-RenderToTexture()
| + | |
| − | material
| + | |
| − | shader
| + | |
| − | vertexFormatPred position 0 true
| + | |
| − | | + | |
| − | pass -fixedFunction
| + | |
| − | create LightingStatesNoStdLights()
| + | |
| − | colorScalar (0.8, 0.8, 1, 1)
| + | |
| − | | + | |
| − | stage
| + | |
| − | texture "MVLab-RenderTargetTexture"
| + | |
| − | | + | |
| − | textureFilterHint bilinear bilinear
| + | |
| − | textureMIPFilterHint disabled
| + | |
| − | textureAddressing clamp clamp clamp
| + | |
| − |
| + | |
| − | ffTextureMatrix -scalev (1, $mvAspect) -trans (0, $mvOffset)
| + | |
| − | textureTransformType vector2
| + | |
| − |
| + | |
| − | textureBlend multiply(texture colorScalar) select(texture)
| + | |
| − | end
| + | |
| − | end
| + | |
| − | end
| + | |
| − | end
| + | |
| − | enddef
| + | |
| − | | + | |
| − | #
| + | |
| − | # Doesn't perform any reflection itself -- merely texture maps
| + | |
| − | # a screen-size texture onto geometry.
| + | |
| − | #
| + | |
| − | | + | |
| − | # TODO: we should set a script variable or predicate
| + | |
| − | # if hardware vertex shaders are not available.
| + | |
| − | | + | |
| − | define MVLab-RenderToTextureReflection()
| + | |
| − | material
| + | |
| − | shader
| + | |
| − | vertexFormatPred position 0 true
| + | |
| − | | + | |
| − | pass -fixedFunction
| + | |
| − |
| + | |
| − | colorScalar (0.8, 0.8, 1, 1)
| + | |
| − |
| + | |
| − | stage
| + | |
| − | ffTextureCoordsSource fromPosition
| + | |
| − | ffTextureMatrix -cameraToClip -scalev (-0.5, (0.5 * -$mvAspect)) -trans (0.5, 0.5)
| + | |
| − | textureTransformType vector4 homogeneous
| + | |
| − |
| + | |
| − | texture "MVLab-RenderTargetTexture"
| + | |
| − | textureBlend multiply(texture colorScalar) select(texture)
| + | |
| − | end
| + | |
| − | end
| + | |
| − | end
| + | |
| − | end
| + | |
| − | enddef
| + | |
| − | | + | |
| − |
| + | |
| − | #
| + | |
| − | # Used to clear the glow render target texture.
| + | |
| − | # by varying 'feedback', you control how much of
| + | |
| − | # the previous frame feeds through into the current.
| + | |
| − | #
| + | |
| − | setf feedback 0.5
| + | |
| − | define MVLab-Dimmer()
| + | |
| − | material
| + | |
| − | shader -layer -31
| + | |
| − | vertexFormatPred position 0 true
| + | |
| − | | + | |
| − |
| + | |
| − | pass
| + | |
| − | shaderProgram -target vertexProgram -method assemble
| + | |
| − |
| + | |
| − | bindConstants 0 -bindingID immediateData -data (((1 - $mvAspect) / 2), $mvAspect, 1, 1)
| + | |
| − |
| + | |
| − | shaderSource
| + | |
| − |
| + | |
| − | vs_1_1
| + | |
| − | dcl_position0 v0
| + | |
| − | dcl_texcoord0 v1
| + | |
| − | | + | |
| − | mov r0.x, -v0.x
| + | |
| − | mov r0.y, v0.z
| + | |
| − | mov r0.zw, c0
| + | |
| − |
| + | |
| − | mov oPos, r0
| + | |
| − |
| + | |
| − | mov oT0.x, v1.x
| + | |
| − | mul r0.y, v1.y, c0.y
| + | |
| − | add oT0.y, r0.y, c0.x
| + | |
| − |
| + | |
| − | endShaderSource
| + | |
| − |
| + | |
| − | end
| + | |
| − | | + | |
| − | colorScalar (0, 0, 0, (1 - $feedback))
| + | |
| − | cullmode none
| + | |
| − | depthTest false
| + | |
| − |
| + | |
| − | alphaBlend srcFactor(srcAlpha) add dstFactor(invSrcAlpha)
| + | |
| − | stage
| + | |
| − | textureBlend select(colorScalar) select(colorScalar)
| + | |
| − | end
| + | |
| − | end
| + | |
| − | end
| + | |
| − | end
| + | |
| − | enddef
| + | |
| − | | + | |
| − | | + | |
| − | | + | |
| − | materialDefinition MVLab-RenderTargetMaterial
| + | |
| − | setDefinition MVLab-RenderToTexture
| + | |
| − | end
| + | |
| − | | + | |
| − | materialDefinition MVLab-RenderTargetReflectionMaterial
| + | |
| − | setDefinition MVLab-RenderToTextureReflection
| + | |
| − | end
| + | |
| − | | + | |
| − | materialDefinition MVLab-RenderTargetGlowMaterial
| + | |
| − | setDefinition MVLab-Dimmer
| + | |
| − | addParam feedback 0.8
| + | |
| − | end
| + | |
| − | | + | |
| − | materialDefinition MVLab-DimmerMaterial
| + | |
| − | setDefinition MVLab-Dimmer
| + | |
| − | addParam feedback 0.8
| + | |
| − | end
| + | |
| − | | + | |
| − | # Test of skybox compositing pass.
| + | |
| − | materialDefinition MVLab-CompositingPass0Material
| + | |
| − | setDefinition SkyboxCompositionPassMaterial
| + | |
| − | addParam skyboxCubeTexture reflectionoutdoorwater-envcube
| + | |
| − | end
| + | |
| − | | + | |
| − | materialDefinition MVLab-LightingTest
| + | |
| − | setDefinition StandardMaterial
| + | |
| − | addParam stdMatDiffCoef (0.5, 0.5, 0.5)
| + | |
| − | end
| + | |