Repository navigation
Conversation
Generate glyph SDFs and kerning in parallel, store only non-zero kerning pairs and upload all glyph layers at once. Render text with the unjittered projection to avoid shaking.
|
您好,我已收到邮件,谢谢!
|
Up to standards ✅🟢 Issues
|
SetGlobal sets the world matrix right away and derives the local matrix, keeping the matrix of the last frame for motion vectors. The editor uses both instead of its own helper, and moving a selection no longer moves children of selected entities twice. Both are exposed to Lua.
IsFullyLoaded also waits for the terrain and counts resources that failed to load as finished. The ocean animates with the scene time, and the smooth brush leaves holes and texels without valid neighbors unchanged.
The search job gets the search text, the filter and the component pools as copies, so the scene can update while it runs.
Methods of component references are forwarded in Lua and created once per method, errors propagate as Lua errors instead of C++ exceptions.
The glyph range started at the font's byte offset. Removes the load time log and shortens a cloud shader comment.
--serve keeps scenes loaded and runs jobs from a command folder (loadScene, reloadScene, unloadScene, run, stop). --pipeline builds a scene with a sequence of edit jobs and keeps snapshots of each step, so only the steps after a change run again. New edit operations: terrain copies and brushes, scatter, clearArea, prefabs made from scenes or parts of them, mesh and material copies, mesh settings and material replacement, dry runs and edit queries. New queries: terrain, terrainSample, terrainMap, route and buried. Manual cameras can be placed relative to the ground.
Ignored bodies are filtered in the Jolt query. Continuing the ray behind them started inside of convex shapes, which count as solid, so rays gave up after an ignored capsule and missed the terrain below it. The mesh pass of Scene::CastRay only tests the meshes in the octree nodes along the ray instead of all meshes of the scene. Ground rays of scripts in large scenes took several milliseconds per frame.
The coverage only depends on its resolution and restoring a scene backup recreates the same height field, both were generated again each time.
Topmost entity lookups, hierarchy collection, the ground below an entity, lights, mesh bodies and placement are shared between operations, checks and queries. Pass targets are recreated after a resize.
SSGI swaps its history textures instead of copying them.
The froxels are an alternative to the ray marching. Lights are culled per froxel cluster and the in-scattering is accumulated over time. Temporary tuning options are only in the fog panel and are not saved with the scene.
…t scattering and indirect light
…tory and add transition helpers
…e slots persistent
…ms and meshes every frame
… skinned ray tracing
…he first pipeline of a recording
…from device buffers and a frame scoped upload buffer pool
…sibility or culling changes
…y tracing instances on the GPU with bindless
The TLAS is created by the scene update and built while rendering. The update of a frame that isn't rendered is dropped, its TLAS stayed unbuilt and was bound by the next frame, which crashed in the driver (DDGI tracing on a scene that was reused without an update).
…stabilize the reflection history Downsampled data belongs to one pixel of its 2x2 block, missed reflection rays no longer report an infinite hit distance and the temporal pass rejects history by the distance to the surface plane.
… one shot sounds Streams can be panned and spatialized directly, one shot streams play to their end without an owner.
… with a smooth falloff The terrain stores the path of its shore line map, the ocean map is generated with a distance transform from loaded cells of a matching level of detail. Material arrays grow with the written slots and terrain normals take the texel resolution into account.
…and coyote time The hidden mouse uses relative mode, so every motion turns the camera.
…o to the engine, use them in the editor - Entity::SetParent, Scene::GetRootEntity and Scene::GetHierarchyBounds replace the hand written parenting and the lookup of the root by its name in the editor - PrimitiveBatch draws boxes, frustums, spheres, rectangles, crosses, cylinders and axes, the editor wrapper only selects the batch with or without depth test - Scene::PlayAudio plays sounds at a location, ray casts report the hit side and use a fixed candidate order, duplicates keep their parent - Image fill, blend and blit, Texture2D::GetImage, AABB triangle tests, wildcard matching and polygon helpers for tools - Serializers reset removed maps, materials, impostors, shadows and probes when reading into existing objects, matrices are stored as flat arrays (old files still load) - Lua bindings for post processing, RTGI, the ocean, the audio manager and more player and scene state - Imported models reuse loaded textures and set invertUVs, physics mesh shapes of .aemesh files use the mesh loader, the text renderer grows its instance buffer, the octree has one level more
…on, mesh replacement and texture compression - Edit operations, queries, terrain brushes and server commands are functions registered in tables by their name - Timeline events are parsed into typed events, keys and controller input share one path - Timeline, Report and Server are split from App, the pipeline keeps track of its current step - Jobs only render frames whose scene was updated, a job on a reused scene no longer binds data of a skipped update - New edit operations terrainCreate, shoreLine, meshBodies, replaceMesh, replaceWithPrefab and compressTextures, a fill brush, flatten with a smooth falloff and scatter items with scaleY and flatness - Controller and end events, --fast, --sound, CPU frame times in the profile and GPU memory in the report
…traversal - A rejected instance left the ray in its object space, the following TLAS tests used the wrong ray
…move shadow maps from ray tracing - DDGI, RTGI and RT reflections write their shadow rays into a compacted buffer, a lean kernel traces them, which keeps the hit shaders at a higher occupancy (-12% frame time in the Ancient scene) - RTGI and reflections resolve the samples with the per sample radiance clamp after the shadow pass - The useShadowMap option is removed from DDGI, RTGI and reflections, only cloud shadows are still applied from a map
…ir ktx conversion - Mesh import, material import and image conversion run as high priority job groups - The source image data is released as soon as its ktx2 image exists - The ktx loader logs loaded files and conversions
…acking, clipboard, occlusion and timing code
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.