Skip to content

Conversation

@jarmonik
Copy link
Contributor

@jarmonik jarmonik commented Jul 25, 2023

Implementation of ray-traced VC textures. Issue #378
https://www.orbiter-forum.com/threads/raytraced-vc-textures-with-panel-lights.40347/

Moving to Vulkan renderer. DX9 discontinued. Code modifications to D3D9Client in main branch should be suspended. Likely going to be lost during final merge.

@n7275
Copy link
Contributor

n7275 commented Jul 25, 2023

Hi @jarmonik, regarding your "do not merge" comment, what we often do for NASSP dev, is leave PRs as "draft", until we're ready to merge them. Then we mark them as ready for review. That way they can't accidentally get merged early, but we can still use them as a placeholder for an ongoing project.

@jarmonik jarmonik added the enhancement New feature or request label Jul 26, 2023
@jarmonik jarmonik marked this pull request as draft July 26, 2023 12:13
jarmonik and others added 7 commits July 26, 2023 17:06
- Passed the data to a client level
- Addressed issue #379 (implemented but not tested)
- Cleared up filename and pathname confusion in D3D9Surface.cpp
- Cleared up visualization of shadow map (Debug)
…hader and are operational.

- Fixed bugs from IProcess.cpp
- Baked light sources can be adjusted from debug controls.
@jarmonik
Copy link
Contributor Author

This project is ready enough for shader development to start. Waiting feedback..

…edVC

# Conflicts:
#	OVP/D3D9Client/D3D9Util.h
@n7275
Copy link
Contributor

n7275 commented Jul 28, 2023

@jarmonik, what is needed for a test of this feature?

@jarmonik
Copy link
Contributor Author

There is currently nothing to test. The shader would need to be finished first. Felix24 knows how to build ray-traced textures and how to write shaders so he knows both sides of the equation. I don't know who else could do that. I suppose I could try to write some kind of shader but I have close to zero experience with 3D modeling and ray-tracing, so, I am not going to make any textures. It's a holiday season so it might take some time until things move forward. Meanwhile I try to improve the sun shadow quality.

@jarmonik
Copy link
Contributor Author

The C++ side should be now in a working condition. The shaders still need some work. Feedback required regarding fully baked configuration.

Ambient light probe experiment was successful, although, without HDR the small difference between dim local light and sun light causes some issues. With HDR upgrade, performance optimizations and quality improvements, this can work. With this upgrade it would be possible to block Earth glow coming in a closed payload bay.

It might be good idea to wait for the release of Orbiter 2024 before merge and then start updating the stock vessels since no more DX7 compatibility is required.

@jalexb88
Copy link

jalexb88 commented Jan 8, 2025

@jarmonik I have been testing with internal dynamic shadows using code from this commit: a193053 The result in NASSP is quite good in my opinion: https://www.dropbox.com/s/emczp6g854riys4/Screenshot%202025-01-07%2020.36.06.png?raw=1 The ambient lighting may be a little too low now but before it was much too high in my opinion as the sun seemed to illuminate the entire interior face directly opposite to it, even if there is no window in between to shine through, whereas now it is just through an actual window. Maybe eventually some other way can be found to restore some of the lost ambient light in a more realistic way if that makes sense. Anyway I have built my own version of the Orbiter 2024 D3D9 client that has it enabled but would it be feasible to have this feature pushed to OpenOrbiter, maybe with an tick box to enable/disable in the options?

jarmonik added 4 commits January 23, 2025 20:25
…edVC

# Conflicts:
#	OVP/D3D9Client/D3D9Client.cpp
#	OVP/D3D9Client/D3D9Client.h
#	OVP/D3D9Client/D3D9Client.rc
#	OVP/D3D9Client/Scene.cpp
#	OVP/D3D9Client/Scene.h
#	OVP/D3D9Client/VideoTab.cpp
#	OVP/D3D9Client/gcCore.cpp
#	OVP/D3D9Client/resource.h
#	Orbitersdk/include/OrbiterAPI.h
#	Src/Orbiter/Orbiter.cpp
#	Src/Orbiter/OrbiterAPI.cpp
@MrResiduals
Copy link

Is it possible to enable the sunlit VC shadows by default, instead of through the debug menu?

@jarmonik
Copy link
Contributor Author

jarmonik commented Feb 18, 2025

Is it possible to enable the sunlit VC shadows by default, instead of through the debug menu?

In a future it will be automatically enabled if the VC is configured to support shadows. Right now it's still in early state of development.

@maxq519
Copy link

maxq519 commented Feb 18, 2025

Would it be possible to have the state of the checkbox for enabling the shadows be saved, so that once it is enabled manually that preference is saved for that vessel and mesh?

@jarmonik jarmonik changed the title Ray-traced VC Textures Ray-traced VC and Vulkan Transition Jul 14, 2025
@jarmonik
Copy link
Contributor Author

jarmonik commented Jul 14, 2025

Looks like GitHub fails to fetch sub-module/project https://github.com/Microsoft/DirectXMath How is that supposed to be done properly ? It's all inline module. No module specific binaries/libraries are being build build.

@n7275
Copy link
Contributor

n7275 commented Jul 16, 2025

Looks like GitHub fails to fetch sub-module/project https://github.com/Microsoft/DirectXMath How is that supposed to be done properly ? It's all inline module. No module specific binaries/libraries are being build build.

Possibly a question for @Xyon

@Xyon
Copy link
Member

Xyon commented Aug 31, 2025

Looks like GitHub fails to fetch sub-module/project https://github.com/Microsoft/DirectXMath How is that supposed to be done properly ? It's all inline module. No module specific binaries/libraries are being build build.

Possibly a question for @Xyon

"cmake magic", probably. It doesn't look like that's the most recent build issue, is the package pull still a problem?

@jarmonik
Copy link
Contributor Author

jarmonik commented Sep 1, 2025

"cmake magic", probably. It doesn't look like that's the most recent build issue, is the package pull still a problem?

Right now the problem is that Vulkan SDK doesn't found. I would expect that major SDK's being installed by default on server side and shared for every project (in which case it would be search path issue) but if that's not the case then Vulkan SDK would need to be installed on GitHub and made available for the project. I have no idea how is that supposed to work.

There's no rush with this. I can do development and it build's fine locally. But dependency problems should be solved before merge to main. There's a lot of work to do before that,

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Raytraced VC textures with panel lights Independent advanced textures [D3D9] Missing Legacy DX7 Shader

9 participants