public SkyboxRenderer() { if (_cube == null) { var size = 500f; _cube = new ModelBaked(ModelManager.LoadModel3ToVao(new[] { -size, size, -size, -size, -size, -size, size, -size, -size, size, -size, -size, size, size, -size, -size, size, -size, -size, -size, size, -size, -size, -size, -size, size, -size, -size, size, -size, -size, size, size, -size, -size, size, size, -size, -size, size, -size, size, size, size, size, size, size, size, size, size, -size, size, -size, -size, -size, -size, size, -size, size, size, size, size, size, size, size, size, size, -size, size, -size, -size, size, -size, size, -size, size, size, -size, size, size, size, size, size, size, -size, size, size, -size, size, -size, -size, -size, -size, -size, -size, size, size, -size, -size, size, -size, -size, -size, -size, size, size, -size, size }), new Shader("skybox")); _texture = TextureManager.LoadCubeMap(); } }
public SkyboxRenderer() { if (cube == null) { var SIZE = 500f; cube = new ModelBaked <object>(ModelManager.LoadModel3ToVao(new[] { -SIZE, SIZE, -SIZE, -SIZE, -SIZE, -SIZE, SIZE, -SIZE, -SIZE, SIZE, -SIZE, -SIZE, SIZE, SIZE, -SIZE, -SIZE, SIZE, -SIZE, -SIZE, -SIZE, SIZE, -SIZE, -SIZE, -SIZE, -SIZE, SIZE, -SIZE, -SIZE, SIZE, -SIZE, -SIZE, SIZE, SIZE, -SIZE, -SIZE, SIZE, SIZE, -SIZE, -SIZE, SIZE, -SIZE, SIZE, SIZE, SIZE, SIZE, SIZE, SIZE, SIZE, SIZE, SIZE, -SIZE, SIZE, -SIZE, -SIZE, -SIZE, -SIZE, SIZE, -SIZE, SIZE, SIZE, SIZE, SIZE, SIZE, SIZE, SIZE, SIZE, SIZE, -SIZE, SIZE, -SIZE, -SIZE, SIZE, -SIZE, SIZE, -SIZE, SIZE, SIZE, -SIZE, SIZE, SIZE, SIZE, SIZE, SIZE, SIZE, -SIZE, SIZE, SIZE, -SIZE, SIZE, -SIZE, -SIZE, -SIZE, -SIZE, -SIZE, -SIZE, SIZE, SIZE, -SIZE, -SIZE, SIZE, -SIZE, -SIZE, -SIZE, -SIZE, SIZE, SIZE, -SIZE, SIZE }), new Shader <object>("skybox")); texture = TextureManager.LoadCubeMap(); } }
public override void Render(float partialTicks) { Vector3 partialPos = Vector3.Lerp(LastPos, Pos, partialTicks); float partialScale = LastParticleScale + (ParticleScale - LastParticleScale) * partialTicks; partialPos.Y += partialScale / 2; ModelBaked model = ParticleRenderer.ParticleModel; model.Shader.SetMatrix4("transformationMatrix", MatrixHelper.CreateTransformationMatrix(partialPos, Vector3.Zero, partialScale)); GL.BindTexture(TextureTarget.Texture2D, TextureId); model.RawModel.Render(); }
public override void Render(float partialTicks) { Vector3 partialPos = Vector3.Lerp(LastPos, Pos, partialTicks); float partialScale = lastParticleScale + (particleScale - lastParticleScale) * partialTicks; partialPos.Y += partialScale / 2; ModelBaked <Particle> model = ParticleRenderer.ParticleModel; model.Shader.UpdateGlobalUniforms(); model.Shader.UpdateModelUniforms(); model.Shader.UpdateInstanceUniforms(MatrixHelper.CreateTransformationMatrix(partialPos, Vector3.Zero, partialScale), this); GL.BindTexture(TextureTarget.Texture2D, textureID); model.RawModel.Render(PrimitiveType.Quads); }
public override void Render(float partialTicks) { Vector3 partialPos = Vector3.Lerp(LastPos, Pos, partialTicks); Vector3 partialRot = Vector3.Lerp(_lastRot, _rot, partialTicks); float partialScale = LastParticleScale + (ParticleScale - LastParticleScale) * partialTicks; float partialAlpha = LastParticleAlpha + (ParticleAlpha - LastParticleAlpha) * partialTicks; partialPos.Y += partialScale / 2.0f; ModelBaked model = ParticleRenderer.ParticleModel; model.Shader.SetMatrix4("transformationMatrix", MatrixHelper.CreateTransformationMatrix(partialPos, partialRot, partialScale)); model.Shader.SetVector2("UVmin", UVmin); model.Shader.SetVector2("UVmax", UVmax); model.Shader.SetFloat("alpha", partialAlpha); GL.BindTexture(TextureTarget.Texture2D, TextureId); model.RawModel.Render(); }
static ParticleRenderer() { ParticleModel = new ModelParticle(new Shader("particle", "UVmin", "UVmax", "alpha")); }
static ParticleRenderer() { ParticleModel = new ModelParticle(new ShaderParticle()); }