VOGONS


ATI TruForm

Topic actions

Reply 40 of 61, by nX3NTY

User metadata
Rank Newbie
Rank
Newbie
KainXVIII wrote on 2021-09-12, 13:52:
nX3NTY wrote on 2021-09-12, 07:25:

Hello guys, I registered just to say thanks for making wrapper for Truform. I been waiting for a long time for someone made this a reality. I tested a couple of games Serious Sam TSE and C&C renegade, both works well with the wrapper! Performance is great with GTX 1070 at 1080p

I really can't see the difference in C&C Renegade with Curved Surfaces setting on/off (or its just not working).

For C&C Renegade you need to adjust it in the registry. Look for 'NPatches_Gap_Filling_Mode' and subsequent 'Npatches' value. Change it to 1. I forgot which one forcing it to higher level, I think Npatches control the value of tessellation where 1 is 2x, 2 is 4x 3 is 6x, while NPatches_Gap_Filling_Mode where 0 is off, 1 is on, 2 is Forced on. Just put value 2 on both so you get optimal result

truOFF.jpg
Filename
truOFF.jpg
File size
464.79 KiB
Views
2304 views
File license
Public domain
truON.jpg
Filename
truON.jpg
File size
464.6 KiB
Views
2305 views
File license
Public domain

Reply 41 of 61, by KainXVIII

User metadata
Rank Member
Rank
Member
nX3NTY wrote on 2021-09-22, 13:50:
KainXVIII wrote on 2021-09-12, 13:52:
nX3NTY wrote on 2021-09-12, 07:25:

Hello guys, I registered just to say thanks for making wrapper for Truform. I been waiting for a long time for someone made this a reality. I tested a couple of games Serious Sam TSE and C&C renegade, both works well with the wrapper! Performance is great with GTX 1070 at 1080p

I really can't see the difference in C&C Renegade with Curved Surfaces setting on/off (or its just not working).

For C&C Renegade you need to adjust it in the registry. Look for 'NPatches_Gap_Filling_Mode' and subsequent 'Npatches' value. Change it to 1. I forgot which one forcing it to higher level, I think Npatches control the value of tessellation where 1 is 2x, 2 is 4x 3 is 6x, while NPatches_Gap_Filling_Mode where 0 is off, 1 is on, 2 is Forced on. Just put value 2 on both so you get optimal result

Oh, thanks!

Reply 42 of 61, by Expack3

User metadata
Rank Member
Rank
Member
Dege wrote on 2021-10-02, 17:52:
========================= WIP81 ========================= […]
Show full quote

=========================
WIP81
=========================

- Replacing the FF vertex pipeline in D3Ds with a new code generator to use specialized shaders
* This might be enabled only for N-patch tesselation in subsequent versions
- Adding a option DirectXExt\NPatchTesselationLevel to force N-patch tesselation for FF/vs.1.x shader pipeline
(not recommended, it's intended for experimenting/debugging purposes)
- Adding scaling mode 'Stretched, keep aspect ratio (CRT like)'
- Fixing a minor bug in DDraw with fast videomemory access

http://dege.fw.hu/temp/dgVoodooWIP81.zip
http://dege.fw.hu/temp/dgVoodooWIP81_dbg.zip

So, I finished the new FF vertex pipeline implementation, but I'm not sure if I enable it for other than TruForm vertex processing in the final version.
The GPU performance is better for plain vertex processing as well, but not at a level that worths factoring too many specialized shaders.
Since it's a new implementation, some games/things can be broken. I'll fix reported cases.

Is the "DirectXExt\NPatchTesselationLevel" setting now part of this version of dgVoodoo2, or is it for a future version? While the listing for "Stretched, keep aspect ratio (CRT like)" is missing from the config file itself, it can be found in the configurator; yet NPatchTesselationLevel is not (this is when unlocking the configurator using the hidden menu option), nor is it in the config file itself.

Reply 43 of 61, by WSH303

User metadata
Rank Newbie
Rank
Newbie

Yup, there is no option like that in GUI, but if you will create new config using control panel, in new file you will find:

; NPatchTesselationLevel: Force N-Patch tesselation level (D3D8/9)
; 0 = app driven
; 1 = disable
; 2 to 8 = a forced tesselation level
; Altough tesselation works with all vertex shader versions, you can force level higher than 1
; only for the fixed function or vs.1.x vertex pipeline because of performance and practical reasons
; (forced tesselation is not recommended at all, anyway)

So you can try to enable it like this:

NPatchTesselationLevel = 8

So far I had not much luck in forcing NPatches, the only game that reacted in any way is FEAR, but there is no smoothing, only artifacts 😜

Attachments

  • Untitled.jpg
    Filename
    Untitled.jpg
    File size
    767.97 KiB
    Views
    2170 views
    File license
    Public domain

Reply 44 of 61, by Dege

User metadata
Rank l33t
Rank
l33t

Yes, I didn't yet put that option onto the CPL GUI page, there is no room there. 😁
That page should be rearranged first.

So far I had not much luck in forcing NPatches, the only game that reacted in any way is FEAR, but there is no smoothing, only artifacts 😜

That's one of the reasons why forcing is not recommended but should be controlled by the application instead. It won't bulge polygons without vertex normals so a lot of artifacts is expected (even with UT2004 I got a lot of in forced mode).
The other is performance. Forcing only works for FF/vs.1.x, it's intentionally disabled for vertex shaders 2x/3x. Games like FEAR typically uses vs2/3 pipelines and have meshes tesselated enough by default.

Last edited by Dege on 2021-10-06, 12:02. Edited 1 time in total.

Reply 46 of 61, by Dege

User metadata
Rank l33t
Rank
l33t

For Dolphin, nothing really changed because that's using vertex shaders (1.x).
The reason for the FPS is that the demo counts its timing based on the boot-time counter. If your OS is unrebooted for days then the counter gets high which is typically a problem for many demos/games.

Reply 47 of 61, by WSH303

User metadata
Rank Newbie
Rank
Newbie

Stalker in DX8 mode. Looks like you were right about it 😁 I will try to find something that works correctly, but so far no luck 😜

Attachments

  • stalker.jpg
    Filename
    stalker.jpg
    File size
    1.35 MiB
    Views
    2141 views
    File license
    Public domain

Reply 49 of 61, by nX3NTY

User metadata
Rank Newbie
Rank
Newbie

Serious Sam TSE was the easiest game to test for Truform on or off because it have its own technology demo. The last room shows model with and without truform. It can even force all models to do truform but artifacts will occur on some models like trees, vegetation etc. Serious Engine is one fun game engine that supports most, if not all, supported technologies of the time (like triple texturing which unique to original Radeon)

Attachments

  • ser2.jpg
    Filename
    ser2.jpg
    File size
    329.32 KiB
    Views
    2088 views
    File license
    Public domain
  • ser.jpg
    Filename
    ser.jpg
    File size
    291.31 KiB
    Views
    2088 views
    File license
    Public domain

Reply 50 of 61, by WSH303

User metadata
Rank Newbie
Rank
Newbie

But Morrowind... I wish TruForm was implemented in wider amount of games, and that ATI didn't abandoned it.

Btw. I checked FEAR again, and it seems forcing TruForm is working after all. It generates huge amount artifacts, flying triangles everywhere, but one object type is smooth - garbage bags. Garbage bags are almost photo realistic now 😁

Attachments

Reply 51 of 61, by Dege

User metadata
Rank l33t
Rank
l33t

Very nice!

Btw, I looked into Stalker DX8 mode, and found that vertex shaders of the distorted polygons uses incoming texture coordinate as integer indices into the shader constant buffer (for vertex 'animation').
So that, texture coordinates are not texture coordinates but integer indices.
This is the equivalent of BLENDINDICES of the fixed function vertex pipeline, that's mentioned in both the DX SDK and the ATI Truform docs that it's not compatible with the technology because indices cannot be interpolated across the triangle in any meaningful way (obviously).
Summarized: in this case TruForm is forced to a shader incompatible with TruForm. It can easily be the same situation with FEAR, vertex blending based on indexed matrices or weights is a very common technology for mesh animation.

But Morrowind... I wish TruForm was implemented in wider amount of games, and that ATI didn't abandoned it.

This technology was advertised in the docs as one that's compatible with traditional meshes containing normal vectors, very easy to use without the need of re-designing existing meshes, unlike with RT-patches, requiring additional information (in fact, the control points).
So, no code and mesh modification is needed, you just enable the feature through the DX API and it automatically/magicallly works.
Well, it's just partially true. Meshes contain shared vertex positions and normals for neighbour triangles, so, for keeping cornered parts of the mesh cornered, it needs to be modified not to use shared vertices for that part.
Or else you get strange things like crates pumped into a stuffed pillow. 😁
So, this technology has it own curse, maybe that's the reason not many games supported it. Or the real time performance. I didn't have the ATI hw back in the day so I myself don't have experience about how well it performed but what I read about it it wasn't stellar.

Reply 52 of 61, by RaVeN-05

User metadata
Rank Oldbie
Rank
Oldbie

I have 8500 and no matter what level of tesselation i set it very fast.
i have x550 (currently can't put it to pc) and in past times i get very high fps drops , the more level tesselation i set the slower rendering become.
no tess fastest
1 level of tess - fast
7 level(max) - very slow.

and some games has artifacts, scratches, holes, texture mismatch , incorrect normal point direction that leads to be curved inside.

its all about : no one cared about making models truform competible/ready and separate which parts should be tesselated which is not.
Generaly all orgenic should be tesselated, while metal is should stay as is, and optionally to rocks and other stuff.

Morrowind 2021-10-10 20-31-48.jpg File size679.92 KiBViews33 views

oh my god its very beautiful , unbelievable.

dgVoodoo makes another great thing - possibility to use reshade for any dx game)
for example there is retracing trough reshade - https://youtu.be/gHIna1MuJXs?t=515
and my experiemental shader for pixelated games like retro 2d or pseudo 3d or 3d games where you can't force bilinear filtering, so this is emitter
https://www.youtube.com/watch?v=YV__R3-qtFM&l … WhiteMagicRaven

https://www.youtube.com/user/whitemagicraven
https://go.twitch.tv/whitemagicraventv

Reply 53 of 61, by Deffnator

User metadata
Rank Member
Rank
Member
WSH303 wrote on 2021-10-10, 18:41:

But Morrowind... I wish TruForm was implemented in wider amount of games, and that ATI didn't abandoned it.

Btw. I checked FEAR again, and it seems forcing TruForm is working after all. It generates huge amount artifacts, flying triangles everywhere, but one object type is smooth - garbage bags. Garbage bags are almost photo realistic now 😁

If anything, i wish someone could link this thread at OpenMW forums and see if they can implement it back to morrowind using OpenMW.

Reply 54 of 61, by Yoda1776

User metadata
Rank Newbie
Rank
Newbie

So I used GLDirect to force your glorious software to hook into Return to Castle Wolfenstein. It even runs the game if you dont emulate a radeon 8500. Trying crashes it everytime not that im entirely confident the truform calls are going to necessarily make it through the API pass fest. All I want is the juicy texture mod, raytracing, stacked with the sacred truform geometry buff tech from way back when.

For the sake of mankind. Im just hoping its your end that would make this dirty workaround viable. Also the nvidia effect remains untoggleable with dg voodoo. Everything else is groovy.

Thank you for your high altitude perspective our Divine Leader. Anyone who gives us the tools to raytrace Aliens vs Predator 2, is basically a God. I take it OpenGL native support is too much of a hassle, and you have already so much to do as it is being essentially a one man army. We arent so different. You are definitely the Superior Lifeform. Help a lowly peasant the ranks of the PC Master Race achieve the ultimate experience with this diabolically awesome classic. Gaben Amen.

https://www.youtube.com/watch?v=ApS2Cm_MRiw

Youtube compression is trash, especially darker game recordings. I also have a trash GTX 1660 Ti so im not going to rerender my stuff with the more mature polished presets until reasonable prices are reality.

Last edited by Yoda1776 on 2021-10-19, 00:04. Edited 2 times in total.

Reply 55 of 61, by Yoda1776

User metadata
Rank Newbie
Rank
Newbie

"But for screen shot purpose it would be nice 😁 Guys using Reshade does that a lot, they set some insane settings on shaders, take a nice looking screenshot and call it a day."

This is basically exactly the opposite to what im doing. Im so late in the pipeline I have to strategically configure my effect passes, and no one else on this planet is using multi radii raytracing (Ray marching) calculations even stuffed into screenspace only simplicity. Ive found the way it resolves at the edges of the screen are superior than typically what you see with noobs playing around with RTGI. His open source work is honestly more interesting because you can simply stack certain effects for more control over the scene.

If I could program like our Divine Leader I would rescale 1936x1089 to 1920x1080 and trade up a hair FOV for truly non screenspace excellence. With a bit of, extravagance, it might be possible to offset with a FOV hack. Depending on the game of course. Id be happy with like less than 1% of vision loss for truly superior stability. If the source code is out and about, and findable, there in the long run is really no excuse for the injection late pipeline consequences for ramping the fun.

Reply 56 of 61, by RetroGamer4Ever

User metadata
Rank Oldbie
Rank
Oldbie

The RealRTCW (Rebuild of RTCW as it was meant to be!) project has an experimental renderer for advanced graphical enhancements that you can take a look at. It might be of some use to you for tinkering and adding your code.

https://github.com/wolfetplayer/RealRTCW/blob … rend2-readme.md

https://github.com/wolfetplayer/RealRTCW/tree … team/code/rend2

Reply 57 of 61, by Dege

User metadata
Rank l33t
Rank
l33t

@Yoda,

Thx for your kind words man, but I'm just a plain guy who spent years on implementing Glide / MS D3D libraries. 😃
I didn't try GLDirect for RTCW but just for curiosity, does TruForm works through that after all?
Anyway, for that nVidia thing, you may want to try to set option DirectXExt\AdapterIDType to nvidia, it may help.