简化多通道渲染系统设置的panda3d实用程序
panda3d-render-pass的Python项目详细描述
渲染过程
这个库的目的是使panda3d中的多通道渲染更加容易。 每个renderpass对象表示要渲染的渲染目标和场景。 如果没有给定场景,则渲染全屏四元菜单。 此库用于替换在panda3d的直接库中找到的filtermanager。
示例
下面的代码是添加到“漫游拉尔夫”演示做HDR渲染。
完整的样本可以在samples/roaming-ralph
中找到。
self.render.set_attrib(LightRampAttrib.make_identity())fb_props=FrameBufferProperties()fb_props.set_float_color(True)fb_props.set_rgba_bits(16,16,16,0)fb_props.set_depth_bits(32)scene_pass=RenderPass('scene',camera=base.camera,scene=base.render,frame_buffer_properties=fb_props,clear_color=LColor(0.53,0.80,0.92,1),)filter_pass=RenderPass('filter',shader=Shader.load(Shader.SL_GLSL,'shaders/fsq.vert','shaders/fsq.frag'))filter_pass._root.set_shader_input('render',scene_pass.output)card=filter_pass.buffer.getTextureCard()card.setTexture(filter_pass.output)card.reparentTo(render2d)