Prechádzať zdrojové kódy

Update release post;

bjorn 1 rok pred
rodič
commit
695e8f3666
1 zmenil súbory, kde vykonal 29 pridanie a 9 odobranie
  1. 29 9
      guides/v0.17.0.md

+ 29 - 9
guides/v0.17.0.md

@@ -15,8 +15,8 @@ with the following new features:
 - Rounded rectangles with thickness, great for VR UI
 - Mouse input
 
-This is a massive release with lots to chew on, so let's try to break things down into atomic,
-bite-sized pieces!
+This is a massive release with lots to chew on, so let's break things down into atomic, bite-sized
+pieces!
 
 Passthrough
 ---
@@ -35,10 +35,13 @@ Blend Shapes
 squishing, which is difficult to implement with skeletal animation.  `Model:setBlendShapeWeight`
 sets the weight of a blend shape, and weights can be animated with keyframe animations as well.
 
+<video controls loop src="/img/blend-shapes.mp4"></video>
+
 They also use compute shaders instead of vertex shaders.  This means:
 
 - There's no limit on the number of active blend shapes
-- They won't be evaluated multiple times when there are multiple cameras
+- They won't be evaluated multiple times when there are multiple cameras, or when a model is drawn
+  multiple times in the same pose
 - Extra style points
 
 Roundrect
@@ -48,12 +51,19 @@ Thick rounded rectangles are a very common shape to use for UI in VR.  Previousl
 generate meshes, import them as models, use SDF shaders, or piece them together with cylinders and
 boxes.  Now, `Pass:roundrect` is built in!
 
+<img src="/img/vqwerty.png" alt="A virtual keyboard made of rounded rectangles" class="flat"/>
+
+Pictured above is [chui](https://github.com/jmiskovic/chui), a UI library made entirely of these
+rounded rectangles!
+
 TerrainShape
 ---
 
 `TerrainShape` is a new physics shape that lets you add heightfields to physics simulations. Terrain
 can be provided as an `Image`, or as a Lua function for procedural terrain.
 
+<video controls loop src="/img/terrain.mp4"></video>
+
 Frustum Culling
 ---
 
@@ -61,9 +71,11 @@ Frustum culling is an optimization that skips rendering objects that are out of
 with content surrounding the player, this is a quick way to reduce GPU overhead, especially when
 objects have lots of vertices.
 
-Frustum culling can be enabled using `Pass:setViewCull(true)`, which will cull objects that have
-bounding boxes.  `Model` objects and most shape primitives have bounding boxes, and a `Mesh` can
-compute its bounds using `Mesh:computeBoundingBox`.
+<video controls loop src="/img/frustum-culling.mp4"></video>
+
+Frustum culling can be enabled using `Pass:setViewCull`.  Any object with a bounding box will be
+culled against the cameras, including `Model` objects and most shape primitives.  `Mesh` objects can
+compute their bounding boxes with `Mesh:computeBoundingBox`.
 
 Plugins
 ---
@@ -101,6 +113,8 @@ also have names, and buffer data can be given as key-value pairs instead of only
 Finally, you can also send a table directly to a uniform buffer variable instead of needing to
 create a buffer first.
 
+    pass:send('lightData', { position = vec3(x, y, z), color = 0xffffee })
+
 Graphics Improvements
 ---
 
@@ -151,6 +165,12 @@ compute shader dispatches within a pass.  Since computes within a pass all ran a
 previously had to use multiple Pass objects to get computes to wait for each other, which is costly.
 With `Pass:barrier`, all computes before the barrier will finish before further compute work starts.
 
+    pass:setShader(computer)
+    pass:compute()
+    pass:compute()
+    pass:barrier()
+    pass:compute() --> this compute will wait for the first two
+
 Headless VR
 ---
 
@@ -231,15 +251,15 @@ volume.
 Community
 ---
 
-LÖVR's Slack is now deprecated because it held our messages hostage!  We migrated all the chat
+LÖVR's Slack is now deprecated because Slack held our messages hostage!  We migrated all the chat
 history over to a [Matrix](https://matrix.org) homeserver hosted on `#community:lovr.org` and
 bridged everything to a new Discord server.  Keeping the source of truth for chat on a self-hosted,
 open source platform ensures the community is hopefully a bit more resilient to future corporate
 monkey business.
 
 Speaking of corporate monkey business, LÖVR has entrenched itself further into the GitHub ecosystem
-by adding continuous releases via GitHub Actions!  This means us mere mortals can have up-to-date
-builds for all platforms without needing to touch CMake or anything related to Android Studio.
+by adding continuous builds via GitHub Actions!  This means us mere mortals can have up-to-date
+builds for all platforms without touching CMake or the Android SDK.
 
 For the remaining masochists among us who choose to build LÖVR from source, there has been a change
 to the branching system.  The `dev` branch is now the default branch, and `master` has been renamed