This commit is contained in:
Hartmut Seichter 2020-12-09 12:55:33 +01:00
parent 523d1d7668
commit ce8e89af51
607 changed files with 402657 additions and 61 deletions

View file

@ -25,7 +25,7 @@ target_include_directories(
pwbinding
PRIVATE
${CMAKE_SOURCE_DIR}/src/deps/lua-5.3.5/src
${CMAKE_SOURCE_DIR}/src/deps/sol2-2.20.6
${CMAKE_SOURCE_DIR}/src/deps/sol2-3.2.2/include
PUBLIC
include
)

View file

@ -58,6 +58,7 @@ void register_core_function(sol::state& lua,sol::table& ns)
,"normalized",&quaternion::normalized
,"lerp",&quaternion::lerp
,"slerp",&quaternion::slerp
,"matrix",&quaternion::to_matrix
);
ns.new_usertype<axisangle>
@ -101,7 +102,7 @@ void register_core_function(sol::state& lua,sol::table& ns)
"now",sol::readonly_property(&time::now),
"elapsed",sol::readonly_property(&time::elapsed),
"reset",&time::reset
);
);
auto geoom_type = ns.new_usertype<geometry>("geometry"
, sol::constructors<geometry()>()
@ -109,21 +110,22 @@ void register_core_function(sol::state& lua,sol::table& ns)
, "vertices", sol::property(&geometry::vertices,&geometry::set_vertices)
, "indices", sol::property(&geometry::indices,&geometry::set_indices)
);
geoom_type.new_enum("topology"
, "points", geometry::topology_type::points
, "lines", geometry::topology_type::lines
, "line_strip", geometry::topology_type::line_strip
);
geoom_type["type"] = lua.create_table_with(
"points", geometry::topology_type::points
, "lines", geometry::topology_type::lines
, "line_strip", geometry::topology_type::line_strip
);
ns.new_usertype<image>("image"
auto image_type = ns.new_usertype<image>("image"
,"create",&image::create
,"size",sol::readonly_property(&image::size)
,"change_count",sol::property(&image::change_count,&image::set_change_count)
);
).new_enum("layout"
,"rgb8", image::RGB8
,"rgb32", image::RGBA8
,"gray", image::LUM);
// image_type.new_enum("layout"
// ,"rgb8", image::RGB8
// ,"rgb32", image::RGBA8
// ,"gray", image::LUM);
}

View file

@ -1,6 +1,6 @@
//#include "script_scene.hpp"
#include "pw/scene/node.hpp"
//#include "pw/scene/node.hpp"
#include "pw/scene/entity.hpp"
#include "pw/scene/scene.hpp"
@ -16,24 +16,24 @@ void register_scene_function(sol::state&,sol::table &ns)
ns.new_usertype<entity>("entity",
sol::constructors<entity(),entity(scene&)>(),
sol::constructors</*entity(),*/entity(scene&)>(),
"add_child",&entity::add_child,
"child_count",sol::readonly_property(&entity::child_count)
);
ns.new_usertype<node>("node",
sol::constructors<node()>(),
"add_child",&node::add_child,
"children",sol::readonly_property(&node::children),
"parent",sol::readonly_property(&node::parent),
"child_count",sol::readonly_property(&node::child_count),
"create", []() -> std::shared_ptr<node> { return std::make_shared<node>(); },
"is_leaf", sol::readonly_property(&node::is_leaf),
"is_root", sol::readonly_property(&node::is_root),
// "share",scripting::property(scripting::resolve<std::shared_ptr<node>(std::make_shared<node>))
"name",sol::property(&node::name,&node::set_name)
);
// ns.new_usertype<node>("node",
// sol::constructors<node()>(),
// "add_child",&node::add_child,
// "children",sol::readonly_property(&node::children),
// "parent",sol::readonly_property(&node::parent),
// "child_count",sol::readonly_property(&node::child_count),
// "create", []() -> std::shared_ptr<node> { return std::make_shared<node>(); },
// "is_leaf", sol::readonly_property(&node::is_leaf),
// "is_root", sol::readonly_property(&node::is_root),
// // "share",scripting::property(scripting::resolve<std::shared_ptr<node>(std::make_shared<node>))
// "name",sol::property(&node::name,&node::set_name)
// );
}
PW_REGISTER_LUA(scene)

View file

@ -21,9 +21,10 @@ void register_visual_function(sol::state&,sol::table &ns)
,"build",&shader::build
,"set_source",&shader::set_source
,"source",&shader::source
).new_enum("shader_type"
,"fragment",shader::code_type::fragment
,"vertex",shader::code_type::vertex);
);
// .new_enum("shader_type"
// ,"fragment",shader::code_type::fragment
// ,"vertex",shader::code_type::vertex);
}
PW_REGISTER_LUA(visual)