示例#1
0
    def _init_shader(self):
        vertex_code = """
        #version 120
        attribute float particle_size;

        void main()
        {
            gl_PointSize = particle_size;
            gl_Position = ftransform();
            gl_FrontColor = gl_Color;
        }
        """
        frag_code = """
        #version 120
        uniform sampler2D sprite_texture;

        void main()
        {
            gl_FragColor = gl_Color * texture2D(sprite_texture, gl_PointCoord);
        }
        """
        self.sprite_shader = ShaderProgram.simple_program(
            'sprite', vertex_code, frag_code)
        self.particle_size_idx = gl.glGetAttribLocation(
            self.sprite_shader.program, b'particle_size')
示例#2
0
文件: particle.py 项目: fpietka/cocos
    def _init_shader(self):
        vertex_code = """
        #version 120
        attribute float particle_size;

        void main()
        {
            gl_PointSize = particle_size;
            gl_Position = ftransform();
            gl_FrontColor = gl_Color;
        }
        """
        frag_code = """
        #version 120
        uniform sampler2D sprite_texture;

        void main()
        {
            gl_FragColor = gl_Color * texture2D(sprite_texture, gl_PointCoord);
        }
        """
        self.sprite_shader = ShaderProgram.simple_program('sprite', vertex_code, frag_code)
        self.particle_size_idx = gl.glGetAttribLocation(self.sprite_shader.program, b'particle_size')
示例#3
0
def load_shader():
    s = ShaderProgram()
    # s.setShader(VertexShader('test_v', test_v))
    s.setShader(FragmentShader('test_f', test_f))
    return s
示例#4
0
uniform sampler2D u_texture;

float rand(vec2 co)
{
    return fract(sin(dot(co.xy ,vec2(92.,80.))) +
                 cos(dot(co.xy ,vec2(41.,62.))) * 5.1);
}

void main()
{
    vec2 rnd = vec2(0.0);
    rnd = vec2(rand(v_texCoord),rand(v_texCoord));
    glFragColor = texture2D(u_texture, v_texCoord+rnd*0.05);
}
"""
from cocos.shader import ShaderProgram
ShaderProgram.simple_program("frost", vert_shader, frag_shader)


class Zen(cocos.layer.Layer):
    def __init__(self):
        super(Zen, self).__init__()
        sprite = cocos.sprite.Sprite("pebbleconcrete.jpg")
        sprite.position = (100, 100)
        self.add(sprite)


cocos.director.director.init(width=1024, height=768)
layer = Zen()
scene = cocos.scene.Scene(layer)
cocos.director.director.run(scene)