Nick Fisher
4e5a9be97a
add standalone SceneAsset_createGeometry method
2025-03-17 16:53:35 +08:00
Nick Fisher
342a53ae7b
add View_setScene and rename View_updateViewport to View_setViewport
2025-03-17 16:53:06 +08:00
Nick Fisher
74502ba5b3
add further TEngine methods
2025-03-17 16:52:05 +08:00
Nick Fisher
03c4afb031
update API boundary types & enums
2025-03-17 16:39:13 +08:00
Nick Fisher
20ea43a809
add TScene
2025-03-17 16:38:30 +08:00
Nick Fisher
8b34934755
add TRenderer
2025-03-17 16:37:51 +08:00
Nick Fisher
5ad187d54f
add various render thread methods
2025-03-17 16:35:45 +08:00
Nick Fisher
711abe11bd
add Camera_lookAt
2025-03-17 16:34:34 +08:00
Nick Fisher
e91d1ca0aa
support 3D texture/2D texture arrays
2025-03-10 18:05:42 +08:00
Nick Fisher
e4de0f3ae0
expose setParameterBool/hasParameter on material + instance
2025-03-08 12:17:06 +08:00
Nick Fisher
aa26f4d0df
separate out RenderLoop/FilamentViewer construction/destruction
2025-03-07 18:53:36 +08:00
Nick Fisher
74ee35bfcd
use render thread methods for Texture/Image/TextureSampler
2025-03-07 14:52:45 +08:00
Nick Fisher
2915655695
remove superseded destroyTexture method (call texture.dispose() instead)
2025-03-05 17:32:48 +08:00
Nick Fisher
593bca3365
feat: expose setCastShadows/setReceiveShadows
2025-03-05 14:47:55 +08:00
Nick Fisher
9abb192148
add setImage method to set texture image directly from buffer
2025-03-04 18:15:54 +08:00
Nick Fisher
fc7f5d7b93
create material for texture baking
...
textures can now be created manually and are no longer tracked by SceneManager (and therefore require manual tracking/disposal)
2025-03-04 14:52:48 +08:00
Nick Fisher
8d52690c97
fix texture/material methods
2025-03-03 15:52:03 +08:00
Nick Fisher
2a8931e1ac
add TTexture bindings with TextureFormat, PixelDataType and PixelDataFormat enums
2025-03-03 14:43:20 +08:00
Nick Fisher
94d77ff21b
move Engine_ FFI methods to own header/source
2025-03-03 11:32:45 +08:00
Nick Fisher
7a707cda67
move Engine_ FFI methods to own header/source
2025-03-03 11:32:34 +08:00
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