atdx436 / shifterdx

Automatically exported from code.google.com/p/shifterdx
0 stars 0 forks source link

Huge decals with with HDTP beta3 #6

Open GoogleCodeExporter opened 8 years ago

GoogleCodeExporter commented 8 years ago
If you use latest Shifter (r62) with HDTP Release 2 beta 3, you will see hugely 
oversized decals (bullet holes, scorch and burnmarks, blood splats and pools, 
etc.), about an order of magnitude larger than expected.

The issue here is that Shifter is using stock calculation method for DrawScale 
clamping (namely replacing DrawScale with output of FClamp()) for both HDTP and 
non-HDTP textures. Problem is that HDTP decal textures are larger, thus they 
have much lower DrawScale values out of the box, and HDTP is using 
multiplicative calculation method for DrawScale clamping (namely, multiplying 
current value of DrawScale by output of FClamp()).

See the attached patch for the proposed fix. I have piggy-backed on the new 
flag HDTP_NotDetected you added, to select different clamping calculation 
methods for HDTP and non-HDTP decals.

I probably missed some cases (like Fireball, FireComet2, etc.)

Installed for HDTP Release 2 beta 3 is available on ModDB at 
http://www.moddb.com/games/deus-ex/downloads/hdtp-beta-release-2-installer
________________________________________________

Additionally, while the new flag HDTP_NotDetected is useful, it's not checking 
output of GetPlayerPawn() to be None. Early in game this returns null, and log 
gets flooded with "Accessed None" messages for all items being instantiated. I 
have slightly refactored HDTP_NotDetected checking logic to check playerPawn 
and player to be non-null before proceeding. Also included in same patch :-), 
as same files are modified.

Original issue reported on code.google.com by vzhua...@gmail.com on 20 Apr 2014 at 3:15

Attachments:

GoogleCodeExporter commented 8 years ago
Forgot to say, patch has Unix (LF) line-endings.

Original comment by vzhua...@gmail.com on 20 Apr 2014 at 3:24