Skip to content

raytopianprojects/Effects

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

19 Commits
 
 
 
 
 
 
 
 

Repository files navigation

A Simple Shader Compositing Library for Panda3D.

To use just download effects.py. No additional dependencies needed.

Example

from direct.showbase.ShowBase import ShowBase

s = ShowBase()

shaders = [
{
    "vertex":
        """
        gl_Position = p3d_ModelViewProjectionMatrix * p3d_Vertex;
        texcoord = p3d_MultiTexCoord0;
        """,

    "fragment":
        """
        vec4 color = texture(p3d_Texture0, texcoord);
        p3d_FragColor = color.bgra;
        """,

    "vertex_attributes": "out vec2 texcoord;",
    "fragment_attributes": "in vec2 texcoord;"
    },
    {
        "vertex": "texcoord *= 2;",
        "fragment": "p3d_FragColor.b -= 0.3;"
    }
]

from effects import Effect

e = Effect()
for shader in shaders:
    e.add_layer(**shader)

for value in range(3):
    p = s.loader.load_model("panda")
    p.set_pos((-10 * value, 0, 0))
    p.reparent_to(s.render)

    e.apply_effect(p)
s.run()

The results of this example should look like this: image

About

A Shader Compositing Library for Panda3D

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages