Nick Fisher
282ee6d103
cherry pick changes onto ThermionDartRenderThreadApi.h
2025-03-01 11:59:36 +08:00
Nick Fisher
c5228dff7e
add enabled/strength params to setBloom, add setRenderQuality method
2025-03-01 11:54:12 +08:00
Nick Fisher
0e5253f7b3
internal: store bounding box with SceneAsset rather than recalculating from renderables
2025-01-07 12:02:44 +08:00
Nick Fisher
124eed0264
fix: don't return entity from SceneManager_addLightRenderThread
2025-01-07 08:43:36 +08:00
Nick Fisher
b1c0d4b2e8
internal: expose more RenderableManager/LightManager bindings
2025-01-07 08:25:48 +08:00
Nick Fisher
916ecd5629
internal: rename Viewer_getMainCamera and return null in Engine_getCameraComponent if camera entity is null
2025-01-07 08:25:48 +08:00
Nick Fisher
4e64c4976f
refactor!: rename removeAsset to destroyAsset
...
use render thread methods for lights
2025-01-07 08:25:48 +08:00
Nick Fisher
744e39e8dd
fix: move removeIbl to render thread
2025-01-07 08:25:48 +08:00
Nick Fisher
baf86d1ade
refactor!: move light methods from FilamentViewer to SceneManager/TLightManager and rename clearLights/clearAssets to destroyLights/destroyAssets
2025-01-07 08:25:48 +08:00
Nick Fisher
8e0ba8ac4e
fix: glTF instancing when loaded via buffer
2025-01-07 08:25:48 +08:00
Nick Fisher
96fe2c89ea
internal: add FFI method to check for valid renderable
2025-01-07 08:25:48 +08:00
Nick Fisher
f8ae90b631
internal: add destroyRenderTargetRenderThread
2025-01-07 08:25:48 +08:00
Nick Fisher
b158062ce8
internal: expose View_getRenderTarget and set (Dart) FFIView.renderTarget property on construction
2025-01-07 08:25:48 +08:00
Nick Fisher
f873f7da66
feat: add setTransparencyMode to Dart Material class
2025-01-07 08:25:48 +08:00
Nick Fisher
0facb3f906
internal: add TMaterial type
2025-01-07 08:25:48 +08:00
Nick Fisher
355c28477b
internal: add Material_createInstance
2025-01-07 08:25:48 +08:00
Nick Fisher
c1a294315a
internal: expose Engine getters (TransformManager, RenderableManager), and build/desotry material methods
2025-01-07 08:25:48 +08:00
Nick Fisher
f27628e719
internal: add createGrid/destroyMaterial render thread methods
2025-01-07 08:25:48 +08:00
Nick Fisher
fd1faa6023
feat: allow passing custom material for grid overlay
2025-01-07 08:25:48 +08:00
Nick Fisher
852cb58ba9
fix: move material/instance creation to render thread
2025-01-07 08:25:48 +08:00
Nick Fisher
def85614d8
feat: add rotation gizmo
2025-01-07 08:25:48 +08:00
Nick Fisher
8a894f7e88
refactor: add createGizmoRenderThread
2025-01-07 08:25:48 +08:00
Nick Fisher
6d5bc305dc
fix SceneManager_createCameraRenderThread
2025-01-07 08:25:48 +08:00
Nick Fisher
1c5b5c890b
reimplement grid as SceneAsset
2025-01-07 08:25:48 +08:00
Nick Fisher
80ca4b97a9
add create/set camera render thread functions
2025-01-07 08:25:48 +08:00
Nick Fisher
bf3d4f7c0e
add dithering to view
2025-01-07 08:25:48 +08:00
Nick Fisher
ed444b0615
feature!:
...
This is a breaking change needed to fully implement instancing and stencil highlighting.
Previously, users would work directly with entities (on the Dart side, ThermionEntity), e.g.
final entity = await viewer.loadGlb("some.glb");
However, Filament "entities" are a lower-level abstraction.
Loading a glTF file, for example, inserts multiple entities into the scene.
For example, each mesh, light, and camera within a glTF asset will be assigned an entity. A top-level (non-renderable) entity will also be created for the glTF asset, which can be used to transform the entire hierarchy.
"Asset" is a better representation for loading/inserting objects into the scene; think of this as a bundle of entities.
Unless you need to work directly with transforms, instancing, materials and renderables, you can work directly with ThermionAsset.
2024-11-27 15:02:37 +11:00