Example #1
0
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.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")
Example #2
0
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.size = TEXTURE_SIZE
    target.add_color_texture(bits=16)
    target.prepare_offscreen_buffer()

    target_stitch = RenderTarget()
    target_stitch.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;