Skip to content

Feature MeshOutline and Wireframe as Components for Entitys - #684

Merged
azeno merged 13 commits into
vvvv:mainfrom
kopffarben:feature/MeshOutline_and_Wireframe
Oct 15, 2024
Merged

Feature MeshOutline and Wireframe as Components for Entitys#684
azeno merged 13 commits into
vvvv:mainfrom
kopffarben:feature/MeshOutline_and_Wireframe

Conversation

@kopffarben

Copy link
Copy Markdown
Contributor

PR Details

Add a simple way to add Outlines(Selection) and Wireframe to any Entity.

This PR includes Feature DynamicBufferMesh with DrawArgsOption (Indirect Drawing) because it support IndirectDrawing too

Description

Add WireframeComponent and MeshOutlineComponent to VL.Stride.Engine[Stride.Rendering]
Add Forwards to WireframeComponent.cs and MeshOutlineComponent.cs to VL.Stride.Runtime.TypeForwards.vl

See HelpPatches

  • HowTo Render a Entity with Wireframe.vl
  • HowTo Render a Entity with MeshOutline.vl

This Branch based on feature/MeshIndirect because it support IndirectDrawing too

Motivation and Context

Makes it possible to build 3D editors and is very helpful for debugging shaders/materials as it was previously not easy to render materials with wireframes.

Types of changes

  • Docs change / refactoring / dependency upgrade
  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to change)

Checklist

  • My change requires a change to the documentation

If VertexBuffers[0].Buffer.Flags is BufferFlags.StreamOutput the use DrawAuto()

see https://learn.microsoft.com/en-us/windows/win32/api/d3d11/nf-d3d11-id3d11devicecontext-drawauto
…derSetup in VL.Stride.Engine

Add WireframeComponent and MeshOutlineComponent to VL.Stride.Engine[Stride.Rendering]
Add Forwards to WireframeComponent.cs and MeshOutlineComponent.cs to VL.Stride.Runtime.TypeForwards.vl

See HelpPatches
- HowTo Render a Entity with Wireframe.vl
- HowTo Render a Entity with MeshOutline.vl

This Branch based on feature/MeshIndirect because it support IndirectDrawing too
Add CommandListHelper.DrawMesh to TypeForward CommandList
Use CommandListHelper.DrawMesh in VL MeshRenderer (VL.Stride.Rendering.vl), MeshRenderFeature, WireframeRenderFeature and MeshOutlineRenderFeature
@azeno
azeno merged commit 6cb30a5 into vvvv:main Oct 15, 2024
@azeno

azeno commented Oct 15, 2024

Copy link
Copy Markdown
Member

Thanks a lot!

@azeno azeno added the VL.Stride Wrapper for 3d game engine Stride label Oct 15, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

VL.Stride Wrapper for 3d game engine Stride

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants