Tony Wasserka
54c9303f4a
softgpu: static inline everything.
2013-08-16 23:49:08 +02:00
Tony Wasserka
dedb3de5c3
softgpu: Add support for 32 bit and 16 bit index texture formats.
...
softgpu: Move texture function emulation to a helper function.
2013-08-16 23:49:08 +02:00
Tony Wasserka
2336f4cd8c
softgpu: Assign texture alpha value to 255 when no alpha channel is present.
2013-08-16 23:49:07 +02:00
Tony Wasserka
88348a3d73
softgpu: Fix rgba texture function.
...
softgpu: Reorder pixel pipeline steps to match hardware order (without caring about performance loss, should be optimized later!).
softgpu: Implement alpha and color testing.
softgpu: Change CLUT lookup code a bit, still need to make some sense out of this.
2013-08-16 23:49:07 +02:00
Tony Wasserka
c549ee0d12
softgpu: Fix some alpha blending bugs.
2013-08-16 23:49:07 +02:00
Tony Wasserka
e7ac41c4bc
softgpu: Possibly fix a bug. Or make things worse. I don't know :/
2013-08-16 23:49:07 +02:00
Tony Wasserka
90b868d1ef
softgpu/Rasterizer: Clean up texture sampling code.
2013-08-16 23:49:07 +02:00
Tony Wasserka
e1cc2540cd
softgpu: Fix fast texture storage mode and use correct texture buffer pitches.
2013-08-16 23:49:06 +02:00
Tony Wasserka
df141ffe6b
softgpu: Implement stencil testing. Add some TODOs. Disable alpha blending when clear mode is active.
...
GPUState: Fix incorrect stencil enum.
2013-08-16 23:49:06 +02:00
Tony Wasserka
0dbe5c5cc1
softgpu: Cleanup CLUT lookup code and fix a critical bug related to it. Also added semi-working fast texture storage mode support.
2013-08-16 23:49:06 +02:00
Tony Wasserka
84425aafef
softgpu: Fix (?) interpolation method for z and color values.
2013-08-16 23:49:06 +02:00
Tony Wasserka
40c83dee03
softgpu: Fix vertex order when drawing rectangles.
2013-08-16 23:49:05 +02:00
Tony Wasserka
8929b0c248
softgpu/Rasterizer: Fix (or rather workaround) a critical integer overflow issue.
2013-08-16 23:49:05 +02:00
Tony Wasserka
27414c0be0
softgpu/Rasterizer: Fix decal texfunc.
2013-08-16 23:49:05 +02:00
Tony Wasserka
3ccc0c1fdc
softgpu/Rasterizer: Warning fixes.
2013-08-16 23:49:05 +02:00
Tony Wasserka
3f9633e1cb
softgpu: Fix a dumb mistake in the alpha blending code. How did this even compile before?!
2013-08-16 23:49:05 +02:00
Tony Wasserka
602e0e5358
softgpu: Add working CLUT support.
2013-08-16 23:49:04 +02:00
Tony Wasserka
26d80c16fe
softgpu/TransformPipeline: Clean up VertexData::Lerp by using Math3D effectively.
2013-08-16 23:49:04 +02:00
Tony Wasserka
06290c53de
softgpu: Fix an issue where texture coordinates were not initialized correctly for quads.
2013-08-16 23:49:04 +02:00
Tony Wasserka
f447957263
softgpu: Use the actual z coordinate of a triangle in through mode, too.
2013-08-16 23:49:04 +02:00
Tony Wasserka
b0d3848dc7
softgpu: Don't draw pixels which lie on the right side of a triangle.
2013-08-16 23:49:04 +02:00
Tony Wasserka
4231264008
softgpu: Clean up Rasterizer code by using Math3D's Vec4 functionality.
2013-08-16 23:49:03 +02:00
Tony Wasserka
ce953f1293
softgpu: Use Vec4 instead of our own Color4 class for color handling.
2013-08-16 23:49:03 +02:00
Tony Wasserka
f270d3bd98
softgpu: Simplify Rasterizer::DrawTriangle by passing individual vertices instead of a vertex array.
2013-08-16 23:49:03 +02:00
Tony Wasserka
8e7f35feee
softgpu: Workaround a bug in through mode (in Rasterizer::DrawTriangle "den" would become really large because clippos.w wasn't initialized to a good value).
2013-08-16 23:49:03 +02:00