From cc7c6cd35f0cccb19a4e3681259b55cebeeb80ba Mon Sep 17 00:00:00 2001 From: donkopunchstania Date: Tue, 9 Mar 2010 04:38:07 +0000 Subject: Texture coordinates are stored in fixed point format in TEV which allows overflows to be emulated correctly. Added logic to calculated texture LOD and use the correct mip. Dumping textures will now dump all mip levels. Added line rendering. Changed data stored in vertex from float arrays to vectors for cleaner math. git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5178 8ced0084-cf51-0410-be5f-012b33b47a6e --- .../Plugins/Plugin_VideoSoftware/Src/SetupUnit.cpp | 32 ++++++++++++++++++++-- 1 file changed, 30 insertions(+), 2 deletions(-) (limited to 'Source/Plugins/Plugin_VideoSoftware/Src/SetupUnit.cpp') diff --git a/Source/Plugins/Plugin_VideoSoftware/Src/SetupUnit.cpp b/Source/Plugins/Plugin_VideoSoftware/Src/SetupUnit.cpp index de28989972..6bc92dc071 100644 --- a/Source/Plugins/Plugin_VideoSoftware/Src/SetupUnit.cpp +++ b/Source/Plugins/Plugin_VideoSoftware/Src/SetupUnit.cpp @@ -134,10 +134,38 @@ void SetupUnit::SetupTriFan() } void SetupUnit::SetupLine() -{} +{ + if (m_VertexCounter < 1) + { + m_VertexCounter++; + m_VertWritePointer = m_VertPointer[m_VertexCounter]; + return; + } + + Clipper::ProcessLine(m_VertPointer[0], m_VertPointer[1]); + + m_VertexCounter = 0; + m_VertWritePointer = m_VertPointer[0]; +} void SetupUnit::SetupLineStrip() -{} +{ + if (m_VertexCounter < 1) + { + m_VertexCounter++; + m_VertWritePointer = m_VertPointer[m_VertexCounter]; + return; + } + + m_VertexCounter++; + + Clipper::ProcessLine(m_VertPointer[0], m_VertPointer[1]); + + m_VertWritePointer = m_VertPointer[0]; + + m_VertPointer[0] = m_VertPointer[1]; + m_VertPointer[1] = &m_Vertices[m_VertexCounter & 1]; +} void SetupUnit::SetupPoint() {} -- cgit v1.2.3