toxieainc
22ffb5cc19
Harmless math warning fixes. map->unordered_map in CNew3D::CacheModel. Avoid general aliasing problems (using bit_cast or the recommended/optimized-away memcpy).
2022-10-03 17:59:59 -07:00
Ian Curtis
83e7b5f45d
njz3: Proper quadrophonic audio support. Need 4+ speakers to take advantage otherwise down mixed to stereo.
2022-06-09 21:10:39 +00:00
Matthew Daniels
9ffce8b92a
Getting rid of most of the includes from Supermodel.h; each file now explicitly includes the header files it needs.
...
Making changes to a header file should no longer force the entire project to recompile.
2021-11-22 17:15:06 +00:00
Ian Curtis
ba917aca6d
Update glew version
2020-07-31 19:18:51 +00:00
Ian Curtis
bf4d725970
Smooth texture repeat makes no sense for alpha/contour textures with pixel dilate. HW seems to treat them as non smooth anyway. Also implement some line of sight stuff, used by Scud. Really need to check the threading/synchronisation of the register reads but it basically works.
2018-10-19 20:59:46 +00:00
Ian Curtis
eb798ed15e
Star wars is the only game to pass unsigned fixed shaded values (per vertex brightness) to the renderer. Originally we thought that the specular flag would turn on unsigned values since it's the only game to set specular with these polys, but this logic turned out to be incorrect. The JTAG interface seems to config the GPU to turn on this functionality. (Harry Tuttle)
2017-10-05 19:15:00 +00:00
Ian Curtis
2786d95795
add interface for sun clamp
2017-09-02 14:54:16 +00:00
Bart Trzynadlowski
76817790d4
Extended -gfx-state to produce culling node analysis
2017-04-11 07:03:47 +00:00
Bart Trzynadlowski
f34e25dfc7
Massive internal change: removed CConfig object and replaced it with a hierarchical config object system (Util::Config::Node). Games are now defined in an XML file. Hopefully I didn't break too many things :/
2017-03-27 03:19:15 +00:00
Ian Curtis
ff624afb4d
The mipmap data in some games seems to being sent behind the base textures, and when the base textures are bound and created the mipmap chain is not yet valid in memory. To fix this, we invalidate the base textures, when the mipmap chain is updated.
2017-03-25 00:06:24 +00:00
Ian Curtis
9eeb81ac69
same fix for legacy engine
2016-10-08 12:10:47 +00:00
Ian Curtis
c472d90fb9
Fix the sky in advanced stage in Dirt Devils. It uses a massive (for 1998 :p) 1024x256 texture.
2016-10-06 20:10:45 +00:00
Bart Trzynadlowski
0ab486645c
Updated Fragment_NoSpotlight.glsl (fragment shader for legacy engine without spot light)
2016-07-04 01:00:24 +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
Bart Trzynadlowski
9a49fefe12
Legacy engine: fixed texture offsets (VON2 was broken by last commit). Texture coordinates are wrapped within the bank first and then the bank can be swapped. This also allows the full range of texture coordinate bits to be used as specified in the Pro-1000 SDK.
2016-05-30 19:18:11 +00:00
Bart Trzynadlowski
d1f49675b1
Legacy engine: Culling node texture Y offset is only 5 bits (fixes Sega Rally 2 initials decal)
2016-05-29 20:49:28 +00:00
Bart Trzynadlowski
1a908dd414
Legacy engine: expanded color index to 12 bits from 11. Does this affect any games?
2016-05-28 20:50:05 +00:00
Bart Trzynadlowski
2ef5203839
Forgot to describe one polygon header field in Model.cpp
2016-05-28 20:40:45 +00:00
Bart Trzynadlowski
e4a5c341dd
Updated polygon header descriptions
2016-05-28 20:33:10 +00:00
Bart Trzynadlowski
0ebb8d5d47
Legacy engine: Added stencil buffering for layered models and shadows. Not as accurate as new engine because stencil buffering is applied per-model rather than per-polygon, so the entire model must consist of stencil-tested polygons. In practice, though, this seems to work fine.
2016-05-28 19:52:30 +00:00
Ian Curtis
89c987fae1
basic spotlight code
2016-05-26 00:08:12 +00:00
Bart Trzynadlowski
a0910f96fb
Fixed fog in legacy 3D engine. Now computed same as new engine, with 4-bit light modifier and corrected fog mixing in shaders.
2016-05-25 04:00:02 +00:00
Bart Trzynadlowski
6dc35f9563
Updated legacy engine vertex shader to use specular shininess and coefficient along with old equation. Still not correct (too strong compared to the old method).
2016-05-25 03:10:36 +00:00
Ian Curtis
fd3eb49369
support 4 bit textures
2016-05-21 15:50:54 +00:00
Bart Trzynadlowski
c9147bc93d
- Removed a stale comment
2016-05-14 06:31:44 +00:00
Bart Trzynadlowski
897b1acb21
Legacy renderer changes:
...
- Updated shading model. Unfortunately, it is far from perfect but it seems to be the best I can do for now. Not really much of a difference from before except that the Scud Race castle is fixed at the expense of the Yosemite level in LA Machineguns being too bright.
- Added lots of notes in the shading code.
- Passing both specular coefficient and shininess to shader. This will probably break specular lighting for now until the shader is updated to use the shininess correctly.
- Color table address in polygon RAM is now obtained from culling nodes as they are traversed (found this in the Pro-1000 SDK).
2016-05-14 06:25:35 +00:00
Ian Curtis
6d1aa4d527
fix compilation
2016-05-03 18:38:06 +00:00
Bart Trzynadlowski
48767b2267
Legacy engine: fixed per-vertex fixed shading to incorporate Ian's findings that the intensity value is signed and that fixed shading applies only when lighting is enabled
2016-04-30 16:23:25 +00:00
Bart Trzynadlowski
57d5bc8367
Legacy engine: preliminary per-vertex fixed shading. Only limited testing with LA Machineguns (appears to work), Sega Rally 2 (appears okay), and Scud Race (fixes expert course bridge but not other mis-colored polygons).
2016-04-29 03:56:06 +00:00
Bart Trzynadlowski
34e8f00382
Legacy engine: extracting fixed shading component (but still can't use it because unsure of how to activate)
2016-04-28 13:18:15 +00:00
Bart Trzynadlowski
c0ec610e99
Polygon header bit analysis code (need to #define DEBUG and use -gfx-state option)
2016-04-27 04:09:50 +00:00
Bart Trzynadlowski
3682ab7300
Updated polygon header description with double-sided bit (forgot it in last update!)
2016-04-26 23:06:40 +00:00
Bart Trzynadlowski
85a77bb016
Added an updated description of the polygon header to the top of Legacy3D/Models.cpp
2016-04-26 23:04:11 +00:00
Bart Trzynadlowski
b730fc466c
Legacy engine: vertex normals are standalone and do not need to be added to polygon normal
2016-04-26 00:12:02 +00:00
Ian Curtis
a5301efed6
avoid cast warning
2016-04-17 00:02:16 +00:00
Bart Trzynadlowski
34d4d8981d
Fixed 8-bit texture decoding in legacy 3D engine. Contour mode/alpha still needs to be made consistent (as much as possible) with new engine.
2016-04-15 04:26:42 +00:00
Bart Trzynadlowski
38d5d14157
Clamping diffuse+ambient light intensity to 1.0 (legacy engine)
2016-04-04 04:32:10 +00:00
Bart Trzynadlowski
faf5f9cf48
Added a comment about viewports
2016-04-04 04:31:26 +00:00
Bart Trzynadlowski
6d9426759b
Fixed texture enable bit (fixes Star Wars light sabers and Sega Rally 2 cones) and added a hack for (and more comments about) color modulation. Scud Race, Sega Rally 2, LA Machineguns, etc. look correct now, but Fighting Vipers 2 shadows are no longer dark enough. Other bugs may exist.
2016-04-04 03:50:24 +00:00
Bart Trzynadlowski
3c8352f4ca
Added a comment: observation of Star Wars and Scud Race color modulation issues.
2016-04-03 04:09:06 +00:00
Ian Curtis
8ea5978093
fix parenthesis error
2016-03-22 21:59:51 +00:00
Ian Curtis
93f6b01e0b
Update project to vs 2013. Clean compile warnings
2016-03-22 12:30:23 +00:00
Bart Trzynadlowski
3627213577
Fixed compiler warnings, whitespace, and moved local variable declarations to site of assignment
2016-03-22 03:43:31 +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