|Supermodel 0.3 WIP SVN640 ||[witek], 2017-08-19 12:05:54|
-Use generic vertex attributes.
-Make the new3d engine default :] Legacy engine can still be selected using -legacy3d in the command line
-Added support for loading shaders from files for new engine and tile renderer. Changed help text to reflect new engine being default.
-Fix attribute locations. glBindAttribLocation must be called linking
-Fixed shading (per vertex poly colours) on step 1.5 hardware have the viewport ambient value added to them. This fixes various shading on scud. To do this had to switch the maths to the vertex shader.
-Fixed shading doesnt effect the alpha channel.
-Pad struct and align on 4 byte boundary.
-With fixed shading, when lighting is disabled, fixed shading appears to be a flat shaded version based upon the poly colour, instead of per vertex attributes.
-Finish fixed shading for 2.0 hardware. Im pretty sure it actually works identically to step 1.5 hardware. The oddball is LA machine guns where the viewport ambient doesnt seem to effect the brightness. But the ambient works differently in this game because it uses the unclamped light model. Still need to investigate if the diffuse factor effects fixed shading.
-Fixed a bug in MCRFS instruction related to the VXSOFT, VXSQRT, and VXCVI bits. Thanks to Spindizzi.
– Fixed up memory region dumping code to use the new Util::FlipEndian functions.
– Patched Sega Rally 2 DX to boot up. Enjoy Sega Rall 2 without MPEG music at 50% speed.
– Harry made some important discoveries with regards to fixed shading on the model 3 (per vertex poly brightness values). Firstly values are allowed to be negative, and they are used as a drop in replacement in the standard lighting equation for the normal dot light vector. This quite radically changes the brightness in LA Machine guns, but now correctly matches the arcade.