Пример #1
0
loadPrcFileData("", "textures-power-2 none")

import os

import direct.directbase.DirectStart
from Code.Globals import Globals

Globals.load(base)
from Code.RenderTarget import RenderTarget

import shutil

sz = 2048

target = RenderTarget()
target.setSize(sz, sz)
target.addColorTexture()
target.setColorBits(16)
target.prepareOffscreenBuffer()

vertex_shader = """
#version 400

uniform mat4 p3d_ModelViewProjectionMatrix;

in vec4 p3d_Vertex;
out vec2 texcoord;

void main() {
    gl_Position = vec4(p3d_Vertex.x, p3d_Vertex.z, 0, 1);
Пример #2
0
    // vec3 cubeColor = texture(sourceMap, direction).xyz;

    resultColor = vec4(sum, 1);

}
"""
shader = Shader.make(Shader.SLGLSL, vertexShader, fragmentShader)

size = 1024
mipidx = 0
blurF = 0.5
while size > 1:
    size /= 2
    blurF *= 1.5

    target = RenderTarget("precompute cubemap")
    target.addColorTexture()
    target.setSize(size, size)
    target.prepareOffscreenBuffer()

    stex = target.getColorTexture()

    target.setShader(shader)
    target.setShaderInput("sourceMap", envmap)
    target.setShaderInput("mipIndex", mipidx)
    target.setShaderInput("blurFactor", blurF)

    for i in xrange(6):

        print "Generating face", i, "for mipmap", mipidx
        target.setShaderInput("directionIndex", i)