Quote:
Originally Posted by Seeadler
Maybe!
In my widescreen dll I have hooked the DirectX function CreatePixelShader() and then dissassembled the buffer with the actual pixelshader code and dump it in a text file. Now I have every hardcoded pixel shader of SH3 as asm shader source code in separate files.
Unbelievable but SH3 uses only 5 pixel shaders
1 = shadow shader
2 = water reflection shader
3 = water shader
4 = terrain shader
5 = ??????
in comparison SH4 approx 200
Now in a second step I loaded this simple asm shader code
Code:
ps.1.1
tex t0
mov r0, t0
from a file into the buffer and replaced the hardcoded water shader with it. This shader code simply takes the texture stored in register t0 and moves it to the output register r0
This is just a proof of concept to change the pixel shaders in SH3 from external files such in SH4/5. It needs allot more work, ...extend to shader version 2.0, make use of more texture registers, storing own textures in the registers and so on...
|
Hi mate,
Outstanding work
I try many time in the past year to make water transparency with no sucess but since i have experience in 3d i know that the reflexion use in shader might be the culprit to it.
If you go in Scene.dat and go in EnvData controller there is a water opacity set to 255 even if you change the setting nothing change in game water remain exactly as before so you can clearly see that they were planning to implemented transparency but for a reason they abandon the idea.
I also try to open the SeaInf.Raw in Env folder and change the alpha to get transparency and nothing change in game i wonder for what they use that file in game and you see here in Env.cfg it is active :
[Environment]
SeaTypeImageDimX=4320
SeaTypeImageDimY=2160
LandIDX=255
DefaultSeaType=0
SeaTypesNo=1
[SeaInfo01]
StartDate=0101
EndDate=1231
SeaInfName=SeaInf.raw
Compressed=NO
[EnvColors]
SeaType00=EnvColors_Atl.dat
SeaType80=EnvColors_Med.dat
SeaType150=EnvColors_Arct.dat
[SkyColors]
SeaType00=SkyColors_Atl.dat
SeaType80=SkyColors_Med.dat
SeaType150=SkyColors_Arct.dat
I know how shader work but unfortunately i cannot read C++ shaders coding.
Best regards Hans