View Issue Details
|ID||Project||Category||View Status||Date Submitted||Last Update|
|0007810||New Feature Requests||[All Projects] General||public||2013-09-05 00:31||2017-06-18 20:57|
|Summary||0007810: [Request] Please increase count of renderpasses for *.fx shader files|
I´m currently working on complete graphic overhaul using HLSL shaders and stuck since a few weeks on shadow mapping. Now im determine that *.fx files only allow one renderpass. More then one renderpasses were ignored, so isnt possible to create more complexe shaders like shadowmapping.
I think possibility to increase graphic quality will be a good reason to let MTA alife for next years. So i request to rework D3D9 API for allowing more then one pass per file.
Current state of my work:
With additional shadows it will be a good base for future possibilities.
|Steps To Reproduce|
I attached an shadow mapping example file of MicroSoft HLSL Development center, so you can see how those shader types will work.
|Tags||No tags attached.|
|Users sponsoring this issue|
Total Sponsorship = EUR 10
2013-09-05 00:56: Sam@ke (EUR 10)
If you mean something else, please explain.
This wont work correctly. If there will be 3 passed, then shader should calculate all 3 return values after they were compiled. But it renders only last compiled pass.
float4 PixelShader1(float2 texCoords : TEXCOORD) : COLOR
float4 PixelShader2(float2 texCoords : TEXCOORD) : COLOR
float4 PixelShader3(float2 texCoords : TEXCOORD) : COLOR
I think it is possible to do multi passes but you have to have 2 separate .fx files, each file doing 1 pass. For instance if you want to do gaussian blur you have to blur the screen horizontally and vertically, separately.
I'm not shader geek so I can't say how to do it but I've seen people do it.
For postprocessing shaders this workaround might be ok, but for depth shadow mapping this wont work. :(