From c8ace076f59e6e9c2710ec8414cbdcee65685b9b Mon Sep 17 00:00:00 2001 From: UnknownShadow200 Date: Sun, 31 May 2015 16:58:45 +1000 Subject: [PATCH] Use single DrawVb method. --- GraphicsAPI/DirectXApi.cs | 16 ++-------------- GraphicsAPI/IGraphicsApi.cs | 6 +----- GraphicsAPI/OpenGLApi.cs | 16 ++-------------- Model/ModelPart.cs | 2 +- Rendering/MapEnvRenderer.cs | 4 ++-- Rendering/StandardEnvRenderer.cs | 4 ++-- 6 files changed, 10 insertions(+), 38 deletions(-) diff --git a/GraphicsAPI/DirectXApi.cs b/GraphicsAPI/DirectXApi.cs index bc0954aee..26636d00a 100644 --- a/GraphicsAPI/DirectXApi.cs +++ b/GraphicsAPI/DirectXApi.cs @@ -254,21 +254,9 @@ namespace ClassicalSharp.GraphicsAPI { return IsValid( iBuffers, ib ); } - public override void DrawVbPos3fTex2f( DrawMode mode, int id, int verticesCount ) { + public override void DrawVb( DrawMode mode, VertexFormat format, int id, int verticesCount ) { device.SetStreamSource( 0, vBuffers[id], 0 ); - device.VertexFormat = VertexFormats.Position | VertexFormats.Texture1; - device.DrawPrimitives( modeMappings[(int)mode], 0, verticesCount / 3 ); - } - - public override void DrawVbPos3fCol4b( DrawMode mode, int id, int verticesCount ) { - device.SetStreamSource( 0, vBuffers[id], 0 ); - device.VertexFormat = VertexFormats.Position | VertexFormats.Diffuse; - device.DrawPrimitives( modeMappings[(int)mode], 0, verticesCount / 3 ); - } - - public override void DrawVbPos3fTex2fCol4b( DrawMode mode, int id, int verticesCount ) { - device.SetStreamSource( 0, vBuffers[id], 0 ); - device.VertexFormat = VertexFormats.Position | VertexFormats.Texture1 | VertexFormats.Diffuse; + device.VertexFormat = formatMapping[(int)format]; device.DrawPrimitives( modeMappings[(int)mode], 0, verticesCount / 3 ); } diff --git a/GraphicsAPI/IGraphicsApi.cs b/GraphicsAPI/IGraphicsApi.cs index c759c2d95..3beb4462a 100644 --- a/GraphicsAPI/IGraphicsApi.cs +++ b/GraphicsAPI/IGraphicsApi.cs @@ -122,11 +122,7 @@ namespace ClassicalSharp.GraphicsAPI { public abstract void DeleteIb( int ib ); - public abstract void DrawVbPos3fTex2f( DrawMode mode, int id, int verticesCount ); - - public abstract void DrawVbPos3fCol4b( DrawMode mode, int id, int verticesCount ); - - public abstract void DrawVbPos3fTex2fCol4b( DrawMode mode, int id, int verticesCount ); + public abstract void DrawVb( DrawMode mode, VertexFormat format, int id, int verticesCount ); public abstract void BeginVbBatch( VertexFormat format ); diff --git a/GraphicsAPI/OpenGLApi.cs b/GraphicsAPI/OpenGLApi.cs index e8ddd2859..9cb9ac4e0 100644 --- a/GraphicsAPI/OpenGLApi.cs +++ b/GraphicsAPI/OpenGLApi.cs @@ -265,20 +265,8 @@ namespace ClassicalSharp.GraphicsAPI { return GL.Arb.IsBuffer( ib ); } - public override void DrawVbPos3fTex2f( DrawMode mode, int id, int verticesCount ) { - BeginVbBatch( VertexFormat.VertexPos3fTex2f ); - DrawVbBatch( mode, id, verticesCount ); - EndVbBatch(); - } - - public override void DrawVbPos3fCol4b( DrawMode mode, int id, int verticesCount ) { - BeginVbBatch( VertexFormat.VertexPos3fCol4b ); - DrawVbBatch( mode, id, verticesCount ); - EndVbBatch(); - } - - public override void DrawVbPos3fTex2fCol4b( DrawMode mode, int id, int verticesCount ) { - BeginVbBatch( VertexFormat.VertexPos3fTex2fCol4b ); + public override void DrawVb( DrawMode mode, VertexFormat format, int id, int verticesCount ) { + BeginVbBatch( format ); DrawVbBatch( mode, id, verticesCount ); EndVbBatch(); } diff --git a/Model/ModelPart.cs b/Model/ModelPart.cs index deed9e9aa..13c9242b5 100644 --- a/Model/ModelPart.cs +++ b/Model/ModelPart.cs @@ -16,7 +16,7 @@ namespace ClassicalSharp { } public void Render() { - Graphics.DrawVbPos3fTex2fCol4b( DrawMode.Triangles, VbId, Count ); + Graphics.DrawVb( DrawMode.Triangles, VertexFormat.VertexPos3fTex2fCol4b, VbId, Count ); } public void Dispose() { diff --git a/Rendering/MapEnvRenderer.cs b/Rendering/MapEnvRenderer.cs index ff04e9dfa..d7802c356 100644 --- a/Rendering/MapEnvRenderer.cs +++ b/Rendering/MapEnvRenderer.cs @@ -45,7 +45,7 @@ namespace ClassicalSharp { Graphics.Texturing = true; Graphics.Bind2DTexture( sideTexId ); - Graphics.DrawVbPos3fTex2fCol4b( DrawMode.Triangles, sidesVboId, sidesVertices ); + Graphics.DrawVb( DrawMode.Triangles, VertexFormat.VertexPos3fTex2fCol4b, sidesVboId, sidesVertices ); Graphics.Texturing = false; } @@ -55,7 +55,7 @@ namespace ClassicalSharp { Graphics.Texturing = true; Graphics.AlphaBlending = true; Graphics.Bind2DTexture( edgeTexId ); - Graphics.DrawVbPos3fTex2fCol4b( DrawMode.Triangles, edgesVboId, edgesVertices ); + Graphics.DrawVb( DrawMode.Triangles, VertexFormat.VertexPos3fTex2fCol4b, edgesVboId, edgesVertices ); Graphics.AlphaBlending = false; Graphics.Texturing = false; } diff --git a/Rendering/StandardEnvRenderer.cs b/Rendering/StandardEnvRenderer.cs index 2887a7c48..5c530f45d 100644 --- a/Rendering/StandardEnvRenderer.cs +++ b/Rendering/StandardEnvRenderer.cs @@ -29,7 +29,7 @@ namespace ClassicalSharp.Renderers { Vector3 pos = Window.LocalPlayer.EyePosition; if( pos.Y < Map.Height + skyOffset ) { - Graphics.DrawVbPos3fCol4b( DrawMode.Triangles, skyVbo, skyVertices ); + Graphics.DrawVb( DrawMode.Triangles, VertexFormat.VertexPos3fCol4b, skyVbo, skyVertices ); } RenderClouds( deltaTime ); ResetFog(); @@ -97,7 +97,7 @@ namespace ClassicalSharp.Renderers { Graphics.AlphaTest = true; Graphics.Texturing = true; Graphics.Bind2DTexture( cloudTexture ); - Graphics.DrawVbPos3fTex2fCol4b( DrawMode.Triangles, cloudsVbo, cloudsVertices ); + Graphics.DrawVb( DrawMode.Triangles, VertexFormat.VertexPos3fTex2fCol4b, cloudsVbo, cloudsVertices ); Graphics.AlphaTest = false; Graphics.Texturing = false;