Examples.compositor
资源名称:3dwind2.0.rar [点击查看]
上传用户:xhbjoy
上传日期:2014-10-07
资源大小:38068k
文件大小:14k
源码类别:
游戏引擎
开发平台:
Visual C++
- // Manuel's bloom
- // Needs a scene-sized rtt, but does only one render of the scene
- compositor Bloom
- {
- technique
- {
- // Temporary textures
- texture rt0 128 128 PF_A8R8G8B8
- texture rt1 128 128 PF_A8R8G8B8
- target rt1
- {
- // Render output from previous compositor (or original scene)
- input previous
- }
- target rt0
- {
- // Start with clear texture
- input none
- // Vertical blur pass
- pass render_quad
- {
- // Renders a fullscreen quad with a material
- material Ogre/Compositor/Blur0
- input 0 rt1
- }
- }
- target rt1
- {
- // Start with clear texture
- input none
- // Horizontal blur pass
- pass render_quad
- {
- // Renders a fullscreen quad with a material
- material Ogre/Compositor/Blur1
- input 0 rt0
- }
- }
- target_output
- {
- // Start with clear output
- input previous
- // Draw a fullscreen quad
- pass render_quad
- {
- // Renders a fullscreen quad with a material
- material Ogre/Compositor/BloomBlend
- input 0 rt1
- }
- }
- }
- }
- compositor Glass
- {
- technique
- {
- texture rt0 target_width target_height PF_R8G8B8
- target rt0 { input previous }
- target_output
- {
- // Start with clear output
- input none
- pass render_quad
- {
- material Ogre/Compositor/GlassPass
- input 0 rt0
- }
- }
- }
- }
- compositor "Old TV"
- {
- technique
- {
- texture rt0 target_width target_height PF_R8G8B8
- // render scene to a texture
- target rt0 { input previous }
- target_output
- {
- // Start with clear output
- input none
- pass render_quad
- {
- // convert the previous render target to a black and white image, add some noise, distort it,
- // then render to scene aligned quad
- material Ogre/Compositor/OldTV
- input 0 rt0
- }
- }
- }
- }
- // Black and white effect
- compositor B&W
- {
- technique
- {
- // Temporary textures
- texture rt0 target_width target_height PF_A8R8G8B8
- target rt0
- {
- // Render output from previous compositor (or original scene)
- input previous
- }
- target_output
- {
- // Start with clear output
- input none
- // Draw a fullscreen quad with the black and white image
- pass render_quad
- {
- // Renders a fullscreen quad with a material
- material Ogre/Compositor/BlackAndWhite
- input 0 rt0
- }
- }
- }
- }
- //compositor DOF // based on Blur but final pass does depth of field
- //{
- // technique
- // {
- // // Temporary textures
- // texture rt0 target_width target_height PF_A8R8G8B8
- // texture rt1 target_width target_height PF_A8R8G8B8
- //
- // target rt1
- // {
- // // Render output from previous compositor (or original scene)
- // input previous
- // }
- //
- // target rt0
- // {
- // // Start with clear texture
- // input none
- // // Vertical blur pass
- // pass render_quad
- // {
- // // Renders a fullscreen quad with a material
- // material Ogre/Compositor/DOF_Blur0
- // input 0 rt1
- // }
- // }
- //
- // target rt1
- // {
- // // Start with clear texture
- // input none
- // // Horizontal blur pass
- // pass render_quad
- // {
- // // Renders a fullscreen quad with a material
- // material Ogre/Compositor/DOF_Blur1
- // input 0 rt0
- // }
- // }
- //
- // target_output
- // {
- // // Start with clear output
- // input none
- // // Draw a fullscreen quad
- // pass render_quad
- // {
- // // Renders a fullscreen quad with a material
- // material Ogre/Compositor/DOF_Blend
- // input 0 rt0
- // input 1 rt1
- // }
- // }
- // }
- //}
- // Embossed (fake bump) effect
- compositor Embossed
- {
- technique
- {
- // Temporary textures
- texture rt0 target_width target_height PF_A8R8G8B8
- target rt0
- {
- // Render output from previous compositor (or original scene)
- input previous
- }
- target_output
- {
- // Start with clear output
- input none
- // Draw a fullscreen quad with the black and white image
- pass render_quad
- {
- // Renders a fullscreen quad with a material
- material Ogre/Compositor/Embossed
- input 0 rt0
- }
- }
- }
- }
- // SharpenEdges
- compositor Sharpen Edges
- {
- technique
- {
- // Temporary textures
- texture rt0 target_width target_height PF_A8R8G8B8
- target rt0
- {
- // Render output from previous compositor (or original scene)
- input previous
- }
- target_output
- {
- // Start with clear output
- input none
- // Draw a fullscreen quad with the black and white image
- pass render_quad
- {
- // Renders a fullscreen quad with a material
- material Ogre/Compositor/SharpenEdges
- input 0 rt0
- }
- }
- }
- }
- // Invert
- compositor Invert
- {
- technique
- {
- // Temporary textures
- texture rt0 target_width target_height PF_A8R8G8B8
- target rt0
- {
- // Render output from previous compositor (or original scene)
- input previous
- }
- target_output
- {
- // Start with clear output
- input none
- // Draw a fullscreen quad with the black and white image
- pass render_quad
- {
- // Renders a fullscreen quad with a material
- material Ogre/Compositor/Invert
- input 0 rt0
- }
- }
- }
- }
- // Posterize
- compositor Posterize
- {
- technique
- {
- // Temporary textures
- texture rt0 target_width target_height PF_A8R8G8B8
- target rt0
- {
- // Render output from previous compositor (or original scene)
- input previous
- }
- target_output
- {
- // Start with clear output
- input none
- // Draw a fullscreen quad with the black and white image
- pass render_quad
- {
- // Renders a fullscreen quad with a material
- material Ogre/Compositor/Posterize
- input 0 rt0
- }
- }
- }
- }
- // Laplace
- compositor Laplace
- {
- technique
- {
- // Temporary textures
- texture rt0 target_width target_height PF_A8R8G8B8
- target rt0
- {
- // Render output from previous compositor (or original scene)
- input previous
- }
- target_output
- {
- // Start with clear output
- input none
- // Draw a fullscreen quad with the black and white image
- pass render_quad
- {
- // Renders a fullscreen quad with a material
- material Ogre/Compositor/Laplace
- input 0 rt0
- }
- }
- }
- }
- // Tiling
- compositor Tiling
- {
- technique
- {
- // Temporary textures
- texture rt0 target_width target_height PF_A8R8G8B8
- target rt0
- {
- // Render output from previous compositor (or original scene)
- input previous
- }
- target_output
- {
- // Start with clear output
- input none
- // Draw a fullscreen quad with the black and white image
- pass render_quad
- {
- // Renders a fullscreen quad with a material
- material Ogre/Compositor/Tiling
- input 0 rt0
- }
- }
- }
- }
- // Old Movie
- compositor Old Movie
- {
- technique
- {
- // Temporary textures
- texture rt0 target_width target_height PF_A8R8G8B8
- target rt0
- {
- // Render output from previous compositor (or original scene)
- input previous
- }
- target_output
- {
- // Start with clear output
- input none
- // Draw a fullscreen quad with the black and white image
- pass render_quad
- {
- // Renders a fullscreen quad with a material
- material Ogre/Compositor/OldMovie
- input 0 rt0
- }
- }
- }
- }
- // HDR
- compositor HDR
- {
- // floating point only for now
- technique
- {
- // Temporary textures
- // Fullsize HDR render target, used as tone mapping source
- texture rt_full target_width target_height PF_FLOAT16_RGB
- // Targets used for luminance evaluation (3x3 downsample, point filtering)
- texture rt_lum0 1 1 PF_FLOAT16_RGB
- texture rt_lum1 4 4 PF_FLOAT16_RGB
- texture rt_lum2 16 16 PF_FLOAT16_RGB
- texture rt_lum3 64 64 PF_FLOAT16_RGB
- texture rt_lum4 128 128 PF_FLOAT16_RGB
- // Bright-pass filtered target (tone mapped)
- texture rt_brightpass 128 128 PF_R8G8B8
- // Bloom filter targets
- texture rt_bloom0 128 128 PF_R8G8B8
- texture rt_bloom1 128 128 PF_R8G8B8
- target rt_full
- {
- // No input, render differently
- input none
- // Use float target HDR material scheme (unclamped shaders)
- material_scheme HDR
- pass clear
- {
- }
- pass render_scene
- {
- }
- }
- // Downsample the original HDR scene to extract luminence value
- target rt_lum4
- {
- input none
- pass render_quad
- {
- // Downsample using a 2x2 filter and convert to greyscale
- material Ogre/Compositor/HDR/Downsample2x2Luminence
- input 0 rt_full
- identifier 994
- }
- }
- target rt_lum3
- {
- input none
- pass render_quad
- {
- // Downsample using a 3x3 filter
- material Ogre/Compositor/HDR/Downsample3x3
- input 0 rt_lum4
- identifier 993
- }
- }
- target rt_lum2
- {
- input none
- pass render_quad
- {
- // Downsample using a 3x3 filter
- material Ogre/Compositor/HDR/Downsample3x3
- input 0 rt_lum3
- identifier 992
- }
- }
- target rt_lum1
- {
- input none
- pass render_quad
- {
- // Downsample using a 3x3 filter
- material Ogre/Compositor/HDR/Downsample3x3
- input 0 rt_lum2
- identifier 991
- }
- }
- target rt_lum0
- {
- input none
- pass render_quad
- {
- // Downsample using a 3x3 filter
- material Ogre/Compositor/HDR/Downsample3x3
- input 0 rt_lum1
- identifier 990
- }
- }
- target rt_brightpass
- {
- input none
- pass render_quad
- {
- // Downsample using a 3x3 filter, hi-pass and tone map
- material Ogre/Compositor/HDR/Downsample3x3Brightpass
- input 0 rt_full
- input 1 rt_lum0
- identifier 800
- }
- }
- target rt_bloom1
- {
- input none
- pass render_quad
- {
- // Blur horizontally
- material Ogre/Compositor/HDR/GaussianBloom1
- input 0 rt_brightpass
- identifier 701
- }
- }
- target rt_bloom0
- {
- input none
- pass render_quad
- {
- // Blur horizontally
- material Ogre/Compositor/HDR/GaussianBloom0
- input 0 rt_bloom1
- identifier 700
- }
- }
- // Final output combines tone mapping of the original scene, with an
- // exposure setting passed in as a GPU parameter, and an additive bloom
- // effect
- target_output
- {
- input none
- pass render_quad
- {
- material Ogre/Compositor/HDR/ToneMapping
- input 0 rt_full
- input 1 rt_bloom0
- input 2 rt_lum0
- }
- }
- }
- }
- // Gaussian blur effect
- compositor Gaussian Blur
- {
- technique
- {
- // Temporary textures
- texture rt0 target_width target_height PF_A8R8G8B8
- texture rt1 target_width target_height PF_A8R8G8B8
- target rt0
- {
- // Render output from previous compositor (or original scene)
- input previous
- }
- target rt1
- {
- // Blur horizontally
- input none
- pass render_quad
- {
- material Ogre/Compositor/HDR/GaussianBloom0
- input 0 rt0
- identifier 700
- }
- }
- target_output
- {
- // Start with clear output
- input none
- // Blur vertically
- pass render_quad
- {
- // Renders a fullscreen quad with a material
- material Ogre/Compositor/HDR/GaussianBloom1
- input 0 rt1
- identifier 701
- }
- }
- }
- }