Various stride utilities / projects (stride3d.net)
Implementation of https://github.com/sebh/UnrealEngineSkyAtmosphere
- Add
TR.Stride.Atmosphere
to your project - Add AtmosphereRenderFeature to graphics compositor
- Add SimpleGroupToRenderStageSelector to the newly added render feature, set effect name to AtmosphereRenderSkyRayMarchingEffect
- In MeshRenderFeature add a new sub render feature `AtmosphereTransparentRenderFeature
- MeshRenderFeature render stage selector change effect name in Mesh Transaprent render stage selector from ForwardShadingEffect to AtmosphereForwardShadingEffect
- Change LightDirectionalGroupRenderer to AtmosphereLightDirectionalGroupRenderer in MeshRenderFeature -> ForwardLightingRenderFeeature
- Make sure "Bind Depth As Resource During Transparent Rendering" is checked on the Forward renderer node (this is the default setting)
- Create game object, add light component with type = Sun, this is basically just a regular directional light.
- Create game object, add atmosphere component, link with sun light
- Done :)
- Atmosphere can not be moved
- Diretional light might be incorrect in editor after a hot reload, this is due to an issue in stride where component references are not correctly restored
Implementation of https://github.com/gasgiant/FFT-Ocean/
- Add
TR.Stride.Ocean
to your project - Create an empty entity
- Add OceanComponent to the entity
Custom materials and models can be generated by implementing the IOceanMesh
and IOceanMaterial
interfaces, default implementations of a basic lod material and corresponding clip mesh are provided. The material implementation can be set to return null
in case custom render features are used instead of the regular material system.
- Currently requires that you have at least one other model in your scene, it will crash due to a missing model processor otherwise.
- No MipMaps atm, generation exists in the code base but it does not look very well. Uncomment code in
WaveCascade.cs
to enable, and modifyOceanEmissive.sdsl
to useTextureName.Sample(sampler, uv)
instead ofTextureName.SampleLevel(sampler, uv, 0)
to enable usage in pixel shader.