Пример #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.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")
Пример #2
0
        vec3 samp = texture(SourceTex, scoord).xyz;


        result = vec4(samp, 1.0);
    }

    """ 

    target['color'].set_minfilter(Texture.FT_nearest)
    target['color'].set_magfilter(Texture.FT_nearest)
    target['color'].set_wrap_u(Texture.WM_border_color)
    target['color'].set_wrap_v(Texture.WM_border_color)
    target['color'].set_border_color(Vec4(1,0, 0, 1))

    target.set_shader(Shader.make(Shader.SLGLSL, vertex_shader, fragment_shader))
    target_stitch.set_shader(Shader.make(Shader.SLGLSL, vertex_shader, stitch_frag))

    target_stitch.set_shader_input("SourceTex", target["color"])

    base.graphicsEngine.render_frame()

    k = target_stitch['color']
    base.graphicsEngine.extractTextureData(k, base.win.get_gsg())

    p = PNMImage()
    k.store(p)
    p.set_num_channels(1)

    p.write("NormalQuantizationTex-" + str(mip) + ".png")
    mip += 1