Просмотр исходного кода

Added instancing and call to new developers to ReleaseNotes.md

tebjan 5 лет назад
Родитель
Сommit
cc5044f5b2

+ 37 - 15
en/ReleaseNotes/ReleaseNotes.md

@@ -22,7 +22,7 @@ Here it is in action:
 
 <iframe width="560" height="315" src="https://www.youtube.com/embed/AZytf15FRks" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
 
-As you can see, there's many customization and settings available in the editor:
+As you can see, there are many customizations and settings available in the editor:
 
 ![Voxel Cone Tracing GI](media/ReleaseNotes-4.0/voxelgi.jpg)
 
@@ -48,24 +48,34 @@ We also expect dropping .NET Framework and supporting only .NET Core will greatl
 
 Later down the road, we plan to switch to .NET 5 once it's in good enough shape.
 
-### GPU Instancing the smart way
+### Flexible GPU Instancing
 
-Aka geometry instancing. Thanks to another big community contribution, Stride now supports GPU instancing per model. The nice thing about it is, that it plays together with the entity-component system. Simply add an Instancing component to a entity with a model. Now you can choose between 3 ways of how to generate the instances:
+Aka geometry instancing. Thanks to another big community contribution sponsored by [vvvv](https://visualprogramming.net/), Stride now supports GPU instancing per model.
 
-* EntityTransform, uses the transformation of other entities with an Instance component. This allows to add components like physics, audio, etc. to each instance.
-* UserArray, for providing an array of matrices via script
-* UserBuffer, for providing a structured buffer (GPU resource) of matrices via script
+![Instancing Header](media/ReleaseNotes-4.0/instancing-header.jpg)
 
-New component Instancing that controls the instancing of a "Master" entity with a model
-New component Instance that represents a single instance and references an Instancing component
-Instancing has 3 strategies for collecting the instance transformations:
+The nice thing about it is, that it plays together with the entity-component system: Simply add an Instancing component to an entity with a model. Then you can choose between 3 ways of how you generate the instances:
+
+* _EntityTransform_, uses the transformation of other entities with an Instance component. This allows to add components like physics, audio, etc. to each instance.
+* _UserArray_, for providing an array of matrices via script
+* _UserBuffer_, for providing a structured buffer (GPU resource) of matrices via script
+
+![Instancing Types](media/ReleaseNotes-4.0/instancing-types.png)
+
+_UserArray_ and _UserBuffer_ even allow you to specify how the matrix is multiplied with the parent transformation.
+
+It even works with skinning:
+
+![Instancing Skinning](media/ReleaseNotes-4.0/instancing-skinning.jpg)
+
+Picking individual instances in Game Studio works as well and selects the entity with the respective Instance component.
+
+There are also have two new entity templates:
+
+![Instancing Templates](media/ReleaseNotes-4.0/instancing-templates.png)
+
+An example project that shows the new features can be found here: [StrideTransformationInstancing](https://github.com/tebjan/StrideTransformationInstancing)
 
-UserArray and UserBuffer allow specifying how the world transformation of the "Master" entity is used:
-Ignore, only the instance transformation is used
-PreMultiply, World is multiplied before the instance transformation
-PostMultiply, World is multiplied after the instance transformation
-EntityTransform mode has support in Game Studio and always uses Ignore mode so the gizmos match
-Picking individual instances in Game Studio works as well and selects the entity with the respective Instance component
 
 ### Graphics API: different selection mechanism + Vulkan improvements
 
@@ -91,3 +101,15 @@ The C# beginner series should be fully recorded by the end of July 2020.
 After those videos are done, Jorn will put his focus on the C# Intermediate project template. Here a is work in progress screenshot on the raycasting tutorial:
 
 ![Raycast tutorial](media/ReleaseNotes-4.0/doc-raycast-tutorial.jpg)
+
+### New Developers are Welcome!
+The Stride GitHub repository has more closed pull requests than open issues. This is a good sign! But in order to move faster and adapt to new technologies, we would be very happy to see more new talents in our friendly and professional developer community.
+
+There are several good reasons to join us:
+* Writing engine code in C# is fun and quite productive
+* Stride users will work with what you create
+* We are happy to help, should you get stuck
+* You can learn a lot, the Stride code base is very professional and has high quality standards
+* An open-source contribution is a great addition to your portfolio
+
+No matter whether you (or someone you know) can contribute documentation updates or new rendering technologies, we welcome everyone!

+ 3 - 0
en/ReleaseNotes/media/ReleaseNotes-4.0/instancing-header.jpg

@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:79471b955f0a1b6be5f28c3ecc6b9cdc261b859ba2a9286d0958eb76f6e665f6
+size 140969

+ 3 - 0
en/ReleaseNotes/media/ReleaseNotes-4.0/instancing-skinning.jpg

@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:aeee59d60e8e1ad6ccc85804f60ca790f9d56e587e667f2cb715d9c3632827c7
+size 72791

+ 3 - 0
en/ReleaseNotes/media/ReleaseNotes-4.0/instancing-templates.png

@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:3a8bbe85939b132dcb9f719c60263138c512bff998ca5536416390481c788556
+size 9635

+ 3 - 0
en/ReleaseNotes/media/ReleaseNotes-4.0/instancing-types.png

@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:c5544bb88c35e4b1b44cee19e5ad3e633fdfb0d9e825502a04f9a7455f395d68
+size 7447

+ 0 - 3
en/ReleaseNotes/media/ReleaseNotes-4.0/voxelgi.png

@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:5e982e7c2b9e51d4362c0dad0d06eceec845961ae350813601d320b23e821d52
-size 449097