fix(graphics): expose terrain renderable controls to scripts

This commit is contained in:
西风逍遥游 committed 2026-09-15 17:51:30 +08:00
1 parent 18f2299582
commit ef4c442ba9
3 files changed
+8

No files matched your search

+2
View File
@@ -39,6 +39,8 @@ void Renderable3D::setTexture(Texture* texture) { meshRenderer()->texture = text
void Renderable3D::setNormalTexture(Texture* texture) { meshRenderer()->normalTexture = texture; }
void Renderable3D::setPackedNormalMask(bool enabled) { meshRenderer()->packedNormalMask = enabled; }
void Renderable3D::setHeightTexture(Texture* texture) { meshRenderer()->heightTexture = texture; }
void Renderable3D::setShader(Shader* shader) { meshRenderer()->shader = shader; }
@@ -43,6 +43,7 @@ void exposeRenderable3DBindings(ssq::Table& table) {
ent.addFunc("clearInstanceRange", &Renderable3D::clearInstanceRange);
ent.addFunc("setTexture", &Renderable3D::setTexture);
ent.addFunc("setNormalTexture", &Renderable3D::setNormalTexture);
ent.addFunc("setPackedNormalMask", &Renderable3D::setPackedNormalMask);
ent.addFunc("setHeightTexture", &Renderable3D::setHeightTexture);
ent.addFunc("setShader", &Renderable3D::setShader);
ent.addFunc("setMaterial", &Renderable3D::setMaterial);
@@ -75,6 +76,8 @@ void exposeRenderable3DBindings(ssq::Table& table) {
ent.addFunc("getParallaxMaxLayers", &Renderable3D::getParallaxMaxLayers);
ent.addFunc("setVisible", &Renderable3D::setVisible);
ent.addFunc("getVisible", &Renderable3D::getVisible);
ent.addFunc("setLayer", &Renderable3D::setLayer);
ent.addFunc("getLayer", &Renderable3D::getLayer);
ent.addFunc("setReflectionCaptureMask", &Renderable3D::setReflectionCaptureMask);
ent.addFunc("getReflectionCaptureMask", &Renderable3D::getReflectionCaptureMask);
ent.addFunc("setReceiveLight", &Renderable3D::setReceiveLight);
+3
View File
@@ -154,6 +154,9 @@ TEST_CASE("moduleExpose.allBindingsPreserveRenderable3DSurface") {
renderable.clearMeshLod()
renderable.setPosition(1.0, 2.0, 3.0)
renderable.setRoughness(0.8)
renderable.setPackedNormalMask(true)
renderable.setLayer(8)
if (renderable.getLayer() != 8) throw "Renderable3D layer binding was lost"
renderable.setCastShadow(true)
renderable.setReceiveShadow(true)
)", "lazy-graphics-3d.nut");