Example #1
0
        /*
         * public void draw(Shader curShader, int[] curtexture, Shader.Uniform uniform, Vector2 vector2)
         * {
         *  draw(curShader, curtexture,new UniformPairList( Shader.Uniform.in_vector, Vector2.Zero));
         * }
         */
        public void draw(Shader shader, int[] curtexture, Shader.Uniform uniform, object obj)
        {
            gameWindow.checkGlError("--uncaught ERROR drawing 2d Quad--" + shader.name);

            GL.UseProgram(shader.handle);

            //unis.insert(ref shader);
            shader.insertGenUniform(uniform, obj);
            shader.insertUniform(Shader.Uniform.in_screensize, ref gameWindow.virtual_size);
            shader.insertUniform(Shader.Uniform.in_rendersize, ref gameWindow.currentSize);
            shader.insertUniform(Shader.Uniform.in_time, ref gameWindow.frameTime);

            //shader.insertUniform(Shader.Uniform.in_near, ref );
            //shader.insertUniform(Shader.Uniform.in_far, ref gameWindow.currentSize);

            if (Scene != null)
            {
                shader.insertUniform(Shader.Uniform.in_no_lights, ref Scene.lightCount);
                shader.insertUniform(Shader.Uniform.curLight, ref Scene.currentLight);

                shader.insertUniform(Shader.Uniform.in_eyepos, ref Scene.eyePos);
            }

            initTextures(curtexture, shader.handle, "Texture");
            GL.BindVertexArray(vaoHandle[0]);
            GL.DrawElements(BeginMode.Triangles, meshes[0].indicesVboData.Length, DrawElementsType.UnsignedInt, IntPtr.Zero);

            gameWindow.checkGlError("--Drawing ERROR Quad--" + shader.name);
        }
Example #2
0
        public UniformPairList(Shader.Uniform uni1, object obj1, Shader.Uniform uni2, object obj2)
        {
            objects.Add(obj1);
            objects.Add(obj2);

            uniforms.Add(uni1);
            uniforms.Add(uni2);
        }
Example #3
0
        internal void draw(Scene.ShaderTypes shaderTypes, int[] p, Shader.Uniform uniform, Matrix4 matrix4)
        {
            Shader shader = Scene.getShader(shaderTypes);

            draw(shader, p, uniform, matrix4);
        }
Example #4
0
        internal void draw(Scene.ShaderTypes shaderTypes, int[] p, Shader.Uniform uniform, Vector2 vector2)
        {
            Shader shader = Scene.getShader(shaderTypes);

            draw(shader, p, uniform, vector2);
        }