Ian Curtis
|
efa7776871
|
parse some unimplemented spot light values from viewport
|
2016-06-27 17:35:27 +00:00 |
|
Ian Curtis
|
d058a29ac8
|
stencil translucent non textured polys
|
2016-06-19 23:33:06 +00:00 |
|
Ian Curtis
|
85c4d85562
|
refactor
|
2016-06-19 21:43:09 +00:00 |
|
Ian Curtis
|
c2b1db11f8
|
Cull geometry based on the culling distances in the nodes. Should give some sort of speedup on lower end pcs where the CPU is predominantly the bottle neck.
|
2016-06-16 20:05:29 +00:00 |
|
Ian Curtis
|
d799c63b1a
|
cache bound texture
|
2016-06-10 11:29:20 +00:00 |
|
Ian Curtis
|
48a79a8f14
|
cleaning
|
2016-06-10 10:18:47 +00:00 |
|
Ian Curtis
|
8440bc7f03
|
support negative exponent
|
2016-06-03 09:33:46 +00:00 |
|
Ian Curtis
|
5081ee99dc
|
Add code to convert the 16bit float format used by the hardware back into float 754 format. 16bit floats are used for the culling radiuses in the nodes.
|
2016-06-03 00:01:34 +00:00 |
|
Ian Curtis
|
36074d9fd5
|
Y texture offsets are just 5 bits. Texture coordinate wrap around happens in the same texture sheet, not into the next one. Fixes various texturing bugs in sega rally.
|
2016-05-30 13:25:00 +00:00 |
|
Bart Trzynadlowski
|
2ee0d9018e
|
New engine: modf -> std::modf (fixes compilation on gcc)
|
2016-05-28 20:54:25 +00:00 |
|
Bart Trzynadlowski
|
5c1a240565
|
New engine: expanded color indices to 12 bits from 11. Added PolygonHeader::ColorIndex and SensorColorIndex methods.
|
2016-05-28 20:49:10 +00:00 |
|
Ian Curtis
|
ce03c13847
|
Optimise non smooth texture repeat to only effect texture boundaries, rather than poly boundaries. Fixes a few ugly artefacts
|
2016-05-28 13:21:35 +00:00 |
|
Ian Curtis
|
661f19be19
|
fix transparency values, values are from 0-32, not 0-16 where the top bit disables
|
2016-05-27 22:20:57 +00:00 |
|
Ian Curtis
|
2086b1c9af
|
Stencil layered polys, fixes shadow z fighting in some of the games. Other games maybe using stipple alpha (yuck), not sure yet.
|
2016-05-27 19:30:40 +00:00 |
|
Ian Curtis
|
c5ce2b9679
|
fix alpha testing for texture format 7
|
2016-05-22 19:17:15 +00:00 |
|
Ian Curtis
|
fd3eb49369
|
support 4 bit textures
|
2016-05-21 15:50:54 +00:00 |
|
Ian Curtis
|
e108b56664
|
correctly mask pointers
|
2016-05-19 22:23:50 +00:00 |
|
Ian Curtis
|
a79fd2786a
|
optimise hash table access for better performance
|
2016-05-19 19:04:44 +00:00 |
|
Ian Curtis
|
ff8d311dcc
|
support colour table pointer
|
2016-05-18 23:06:41 +00:00 |
|
Ian Curtis
|
9e279a0c1f
|
Non luminous polygons seem to be effected by the lightModifier also. API seems to have no restriction in this regard, neither does the SDK. The ocean hunter requires this for some of the 2d stuff. Light modifier values only seem to exist between 0-16, which is strange for 5 bits of precision. Possibly top bit disables the effect and lower 4 bits are the value. This clearly differs from the SDK, but without this the values come out clearly wrong.
|
2016-05-16 10:49:00 +00:00 |
|
Ian Curtis
|
bc08276d60
|
preliminary specular
|
2016-05-15 16:24:49 +00:00 |
|
Ian Curtis
|
c4b5b185c6
|
Disable light modifier on fog, seems not to work .. values don't make sense. Maybe the model3 doesn't use these.
|
2016-05-13 19:26:10 +00:00 |
|
Ian Curtis
|
c8f8cd1655
|
remove dead code
|
2016-05-13 08:40:53 +00:00 |
|
Ian Curtis
|
e295ad6868
|
double up polys for two sided polys, fixes some diffuse lighting problems
|
2016-05-13 08:39:48 +00:00 |
|
Bart Trzynadlowski
|
ddf3d5213d
|
FLT_MAX -> std::numeric_limits<float>::max()
|
2016-05-10 03:08:36 +00:00 |
|
Ian Curtis
|
43add90d2f
|
Fix bad texture seems
|
2016-05-09 16:26:34 +00:00 |
|
Ian Curtis
|
242cddac2d
|
remove pointless loop
|
2016-05-07 15:45:02 +00:00 |
|
Ian Curtis
|
ded3168060
|
Split face colour from per vertex poly colour. Fixes colour bleeding between connected polys in harley.
|
2016-05-07 15:28:04 +00:00 |
|
Bart Trzynadlowski
|
fee1cfb126
|
Fixed compilation on gcc (gotos cannot cross variable declarations)
|
2016-05-05 22:01:59 +00:00 |
|
Ian Curtis
|
da4bab5f9b
|
Flat shaded polys can't share vertex normals with adjacent connected polys. Fixes some bad lighting in Harley on pavements
|
2016-05-05 08:06:06 +00:00 |
|
Ian Curtis
|
b2da849d90
|
support flat shading
|
2016-05-05 00:01:17 +00:00 |
|
Ian Curtis
|
b0569007ef
|
set correct microtexture wrap mode
|
2016-05-04 10:30:58 +00:00 |
|
Ian Curtis
|
c545b9fd85
|
preliminary microtexture
|
2016-05-04 00:35:07 +00:00 |
|
Ian Curtis
|
396fba7d24
|
skip viewports marked as disabled, might stop parsing some bad data
|
2016-05-03 21:17:37 +00:00 |
|
Ian Curtis
|
7ec7906c0f
|
Turn off lighting if fixed shading (or no normals) flag is present. Fixes some of the lighting weirdness in scud
|
2016-04-30 20:32:44 +00:00 |
|
Ian Curtis
|
30ca1792bb
|
Fix fixed shading maths
|
2016-04-30 08:58:13 +00:00 |
|
Ian Curtis
|
c499e6640c
|
fixed shading code
|
2016-04-29 23:03:46 +00:00 |
|
Ian Curtis
|
09e27e3082
|
color flag
|
2016-04-27 16:42:31 +00:00 |
|
Ian Curtis
|
3e8439c09c
|
fix model normals, add code for fixed shading, as of yet flag to turn it on is unknown
|
2016-04-26 09:06:48 +00:00 |
|
Ian Curtis
|
58d187e59a
|
parse viewports in normal order
|
2016-04-19 22:05:12 +00:00 |
|
Ian Curtis
|
df9fefd064
|
walk siblings before children, fixes some of the transparency drawing issues in ocean hunter
|
2016-04-18 22:25:05 +00:00 |
|
Ian Curtis
|
057ee94210
|
simplify
|
2016-04-18 14:06:10 +00:00 |
|
Ian Curtis
|
c4dc96ef71
|
simplify list code
|
2016-04-17 00:00:51 +00:00 |
|
Ian Curtis
|
f52cb3c491
|
tweak frustum planes
|
2016-04-08 23:29:31 +00:00 |
|
Ian Curtis
|
5f68544641
|
revert viewport code
|
2016-04-04 10:50:05 +00:00 |
|
Ian Curtis
|
d155fbd6e4
|
rgb values were swapped for paletted colours
|
2016-04-03 23:21:50 +00:00 |
|
Ian Curtis
|
688af26846
|
Possible work around for slightly incorrect viewport positions in ECA and harley
|
2016-04-02 22:13:59 +00:00 |
|
Ian Curtis
|
7e7847bc83
|
Allow asymmetric projection matrices. Fixes a bunch of missing effects and bad camera angles in harley.
|
2016-03-31 09:27:42 +00:00 |
|
Ian Curtis
|
aee89390ba
|
add LOD table data. Maybe we can get clipping planes out of these
|
2016-03-28 20:11:46 +00:00 |
|
Ian Curtis
|
e79b241a49
|
properly mark dynamic meshes as such
|
2016-03-28 19:58:36 +00:00 |
|
Ian Curtis
|
ffaed8ae32
|
clear the rom mesh buffer
|
2016-03-26 22:48:51 +00:00 |
|
Ian Curtis
|
4992e59673
|
Cache rom models, for better performance.
|
2016-03-26 22:44:26 +00:00 |
|
Ian Curtis
|
8488f22ac5
|
|
2016-03-24 13:26:28 +00:00 |
|
Ian Curtis
|
0327db246f
|
WIP
|
2016-03-24 13:17:17 +00:00 |
|
Ian Curtis
|
f031e5d095
|
finish front/back face culling code based on matrix determinant. Optimised opengl to avoid redundant state changes.
|
2016-03-22 23:39:59 +00:00 |
|
Ian Curtis
|
e7eb912eaa
|
add maths functions
|
2016-03-22 13:47:28 +00:00 |
|
Bart Trzynadlowski
|
34301e97e1
|
Adding new 3D engine by Ian Curtis. Old engine moved to Graphics/Legacy3D/.
|
2016-03-21 04:10:14 +00:00 |
|