Use single DrawVb method.

This commit is contained in:
UnknownShadow200 2015-05-31 16:58:45 +10:00
parent 0889c5f4df
commit c8ace076f5
6 changed files with 10 additions and 38 deletions

View File

@ -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 );
}

View File

@ -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 );

View File

@ -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();
}

View File

@ -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() {

View File

@ -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;
}

View File

@ -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;