Tony Wasserka
838d22d120
softgpu: Implement memory transfers.
2013-08-16 23:49:14 +02:00
Tony Wasserka
2962d242cb
softgpu: Implement skinning.
2013-08-16 23:49:14 +02:00
Tony Wasserka
9bc3e8bf07
softgpu: Generate texture coordinates for environment mapping even if lighting is disabled altogether.
2013-08-16 23:49:13 +02:00
Tony Wasserka
6b90aa250d
softgpu: Polish some helper function signatures.
2013-08-16 23:49:13 +02:00
Tony Wasserka
11a94e1d14
softgpu: Implement spline surface drawing (without patch subdivision).
2013-08-16 23:49:13 +02:00
Tony Wasserka
f4cb929073
softgpu: Fix a lighting bug.
2013-08-16 23:49:13 +02:00
Tony Wasserka
ad8449c382
softgpu: Add some safety checks.
2013-08-16 23:49:13 +02:00
Tony Wasserka
f6feb874ed
softgpu/Rasterizer: Structure some code more clearly.
2013-08-16 23:49:12 +02:00
Tony Wasserka
1450157e09
softgpu: Implement environment mapping.
2013-08-16 23:49:12 +02:00
Tony Wasserka
d2f30961af
softgpu: Make perspective correct uv mapping code more readable and implement projection mapping.
2013-08-16 23:49:12 +02:00
Tony Wasserka
104feea8eb
softgpu: Restructure texture sampling code a bit.
2013-08-16 23:49:12 +02:00
Tony Wasserka
bacadefde4
softgpu: Optimization, part 3.
2013-08-16 23:49:12 +02:00
Tony Wasserka
b22a82d350
softgpu: Optimization, part 2.
2013-08-16 23:49:11 +02:00
Tony Wasserka
0c6a9dcf50
softgpu: Optimization, part 1.
2013-08-16 23:49:11 +02:00
Tony Wasserka
002ab3e3ad
softgpu: Hackfix CLUT4 texture deswizzling.
2013-08-16 23:49:11 +02:00
Tony Wasserka
62b384e052
softgpu: Lots of clearmode fixes.
2013-08-16 23:49:11 +02:00
Tony Wasserka
f35e085859
softgpu: Change framebuffer writes to act on actual 16 bit pixels if that's the framebuffer format.
2013-08-16 23:49:11 +02:00
Tony Wasserka
917dc276dc
softgpu: Small cleanup in Clipper.
2013-08-16 23:49:10 +02:00
Tony Wasserka
2ea7162962
softgpu: Implement depth range test.
2013-08-16 23:49:10 +02:00
Tony Wasserka
e1216e91cc
softgpu: Implement texture scaling, texture offset and texture coordinate wrapping/clamping.
2013-08-16 23:49:10 +02:00
Tony Wasserka
44035df446
SoftGpu: Add support for triangle fans.
2013-08-16 23:49:10 +02:00
Tony Wasserka
c8f1819179
softgpu: Fix triangle borders not fitting together properly.
2013-08-16 23:49:09 +02:00
Tony Wasserka
4e1d2f0cb2
softgpu: Implement logic ops.
2013-08-16 23:49:09 +02:00
Tony Wasserka
c957574f90
softgpu: Implement color masking.
2013-08-16 23:49:09 +02:00
Tony Wasserka
a013aad6f1
softgpu: Fix incorrect depth buffer write base address.
...
softgpu: Implement framebuffer pixel formats different than RGBA8888.
softgpu: Move texel decoding functions to a separate header.
2013-08-16 23:49:09 +02:00
Tony Wasserka
b2d4df2ddf
Fixes for CLUT decoding
2013-08-16 23:49:08 +02:00
Tony Wasserka
ccb487cbae
softgpu: Clip primitives when one of their vertices is outside the screen coordinate range (the code really needs a cleanup though).
...
softgpu: Fix triangle strip rendering.
softgpu: Implement CCW cullmode.
2013-08-16 23:49:08 +02:00
Tony Wasserka
37ef488f83
softgpu: Support RGB565, RGBA5551 and RGBA4444 CLUT formats.
2013-08-16 23:49:08 +02:00
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