public override void Render() { float[] model = new float[16]; float[] proj = new float[16]; culledTotal = 0; GL.GetFloat(GetPName.ProjectionMatrix, proj); GL.GetFloat(GetPName.ModelviewMatrix, model); culler.CalculateFrustum(model, proj); foreach (FileSlice slice in slices) { slice.Render(culler); culledTotal += slice.cullCount; } }
public override void Render() { float[] modelView = new float[16]; float[] proj = new float[16]; culledTotal = 0; //GL.GetFloat(GetPName.ProjectionMatrix, proj); //GL.GetFloat(GetPName.ModelviewMatrix, model); Matrix4 modelViewMatrix = parentWindow.GetCamera().CameraModelMatrix *ShadersCommonProperties.viewMatrix; Util.MatrixToFloatArray(modelViewMatrix, ref modelView); Util.MatrixToFloatArray(ShadersCommonProperties.projectionMatrix, ref proj); culler.CalculateFrustum(modelView, proj); //TODO: correct culler foreach (FileSlice slice in slices) { slice.Render(culler); culledTotal += slice.cullCount; } }