void IMVP.SetShaderProgram(mat4 mvp) { //this.tex.Bind(); GL.CullFace(GL.GL_FRONT_AND_BACK); GL.PolygonMode(PolygonModeFaces.FrontAndBack, PolygonModes.Filled); GL.Enable(GL.GL_ALPHA_TEST); GL.AlphaFunc(GL.GL_GREATER, alphaThreshold); bool blend = this.blend; if (blend) { GL.Enable(GL.GL_BLEND); GL.BlendFunc(sFactor, dFactor); } uint textureID = this.textureProcessor.GetTexture3D(); GL.BindTexture(GL.GL_TEXTURE_3D, textureID); this.shaderProgram.Bind(); this.shaderProgram.SetUniform("tex", textureID); IMVPHelper.SetMVP(this, mvp); }
void IMVP.SetShaderProgram(mat4 mvp) { GL.Enable(GL.GL_VERTEX_PROGRAM_POINT_SIZE); GL.Enable(GL.GL_POINT_SPRITE_ARB); //GL.TexEnv(GL.GL_POINT_SPRITE_ARB, GL.GL_COORD_REPLACE_ARB, GL.GL_TRUE);//TODO: test TexEnvi() GL.TexEnvf(GL.GL_POINT_SPRITE_ARB, GL.GL_COORD_REPLACE_ARB, GL.GL_TRUE); GL.Enable(GL.GL_POINT_SMOOTH); GL.Hint(GL.GL_POINT_SMOOTH_HINT, GL.GL_NICEST); GL.Enable(GL.GL_BLEND); GL.BlendEquation(GL.GL_FUNC_ADD_EXT); GL.BlendFuncSeparate(GL.GL_SRC_ALPHA, GL.GL_ONE_MINUS_SRC_ALPHA, GL.GL_ONE, GL.GL_ONE); GL.BindTexture(GL.GL_TEXTURE_2D, this.texture[0]); IMVPHelper.SetMVP(this, mvp); //int[] poinSizes = new int[2]; //GL.GetInteger(GetTarget.PointSizeRange, poinSizes); //if (this.textureWidth > poinSizes[1]) //{ // GL.PointParameter(GL.GL_POINT_SIZE_MAX_ARB, this.textureWidth); // GL.GetInteger(GetTarget.PointSizeRange, poinSizes); // Console.WriteLine("asf"); //} shaderProgram.SetUniform(PointSpriteStringElement.strpointSize, this.textureWidth + 0.0f); shaderProgram.SetUniform(PointSpriteStringElement.strtex, this.texture[0]); shaderProgram.SetUniform(PointSpriteStringElement.strtextColor, this.textColor.x, this.textColor.y, this.textColor.z); }
void IMVP.ResetShaderProgram() { IMVPHelper.ResetMVP(this); //this.tex.Unbind(); this.shaderProgram.Unbind(); GL.BindTexture(GL.GL_TEXTURE_3D, 0); GL.Disable(GL.GL_BLEND); GL.Disable(GL.GL_ALPHA_TEST); }
void IMVP.ResetShaderProgram() { IMVPHelper.ResetMVP(this); GL.BindTexture(GL.GL_TEXTURE_2D, 0); GL.Disable(GL.GL_BLEND); GL.Disable(GL.GL_VERTEX_PROGRAM_POINT_SIZE); GL.Disable(GL.GL_POINT_SPRITE_ARB); GL.Disable(GL.GL_POINT_SMOOTH); }
void IMVP.ResetShaderProgram() { IMVPHelper.ResetMVP(this); //this.tex.Unbind(); this.shaderProgram.Unbind(); GL.BindTexture(GL.GL_TEXTURE_3D, 0); GL.Disable(GL.GL_BLEND); GL.Disable(GL.GL_ALPHA_TEST); if (blend) { GL.DepthMask((byte)GL.GL_TRUE); } }
void IMVP.ResetShaderProgram() { IMVPHelper.ResetMVP(this); }
void IMVP.SetShaderProgram(mat4 mvp) { IMVPHelper.SetMVP(this, mvp); }
void IMVP.ResetShaderProgram() { IMVPHelper.DoUnbindShaderProgram(this); }
void IMVP.ResetShaderProgram() { IMVPHelper.ResetMVP(this); this.tex.Unbind(); }
void IMVP.SetShaderProgram(mat4 mvp) { this.tex.Bind(); IMVPHelper.SetMVP(this, mvp); }