os.chdir(curr_dir) import sys sys.path.insert(0, "../../") from panda3d.core import * loadPrcFile("../../Config/configuration.prc") loadPrcFileData("", "textures-power-2 none") loadPrcFileData("", "window-type offscreen") loadPrcFileData("", "win-size 100 100") grain_shader = Shader.load( Shader.SL_GLSL, "../../Shader/DefaultPostProcess.vert.glsl", "GrainShader.fragment.glsl") import direct.directbase.DirectStart from Code.RenderTarget import RenderTarget target = RenderTarget() target.set_size(1024, 1024) target.add_color_texture(bits=8) target.prepare_offscreen_buffer() target.set_shader(grain_shader) base.graphicsEngine.render_frame() base.graphicsEngine.extract_texture_data(target["color"], base.win.get_gsg()) target["color"].write("grain.png")
loadPrcFileData("", "textures-power-2 none") loadPrcFileData("", "window-type offscreen") loadPrcFileData("", "win-size 100 100") # loadPrcFileData("", "notify-level-display error") import direct.directbase.DirectStart from Code.Globals import Globals from Code.RenderTarget import RenderTarget Globals.load(base) mip = 0 while TEXTURE_SIZE >= 2: target = RenderTarget() target.set_size(TEXTURE_SIZE) target.add_color_texture(bits=16) target.prepare_offscreen_buffer() target_stitch = RenderTarget() target_stitch.set_size(TEXTURE_SIZE) target_stitch.add_color_texture(bits=16) target_stitch.prepare_offscreen_buffer() with open("../../Shader/DefaultPostProcess.vert.glsl", "r") as handle: vertex_shader = handle.read() fragment_shader = """ #version 400 out vec4 result;