some cleanup
This commit is contained in:
parent
b25ab14587
commit
67ae8daef3
10 changed files with 46 additions and 46 deletions
|
@ -216,7 +216,7 @@ void register_core_function(sol::state& lua,sol::table& ns)
|
||||||
|
|
||||||
|
|
||||||
auto image_type = ns.new_usertype<image>("image"
|
auto image_type = ns.new_usertype<image>("image"
|
||||||
, sol::constructors<image()>()
|
,sol::call_constructor,sol::constructors<image(),image(const size&,image::pixel_layout pl,const void*)>()
|
||||||
,"create",&image::create
|
,"create",&image::create
|
||||||
,"size",sol::readonly_property(&image::size)
|
,"size",sol::readonly_property(&image::size)
|
||||||
,"generate_noise",&image::generate_noise
|
,"generate_noise",&image::generate_noise
|
||||||
|
@ -239,8 +239,9 @@ void register_core_function(sol::state& lua,sol::table& ns)
|
||||||
,sol::call_constructor,sol::constructors<rectangle(),rectangle(const point_<float>&,const size_<float>&)>()
|
,sol::call_constructor,sol::constructors<rectangle(),rectangle(const point_<float>&,const size_<float>&)>()
|
||||||
);
|
);
|
||||||
|
|
||||||
auto mathf_table = ns.create_named("mathf");
|
// some math function
|
||||||
mathf_table.set_function("ping_pong",ping_pong<real_t>);
|
ns.create_named("mathf")
|
||||||
|
.set_function("ping_pong",ping_pong<real_t>);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -17,14 +17,14 @@ void register_scene_function(sol::state&,sol::table &ns)
|
||||||
{
|
{
|
||||||
|
|
||||||
ns.new_usertype<scene>("scene",
|
ns.new_usertype<scene>("scene",
|
||||||
sol::constructors<scene()>()
|
sol::call_constructor,sol::constructors<scene()>()
|
||||||
,"count_all_entities",sol::readonly_property(&scene::count_all_enties)
|
,"count_all_entities",sol::readonly_property(&scene::count_all_enties)
|
||||||
,"count_alive_entities",sol::readonly_property(&scene::count_alive_enties)
|
,"count_alive_entities",sol::readonly_property(&scene::count_alive_enties)
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|
||||||
ns.new_usertype<entity>("entity"
|
ns.new_usertype<entity>("entity"
|
||||||
,sol::constructors<entity(),entity(const entity&),entity(scene&)>()
|
,sol::call_constructor,sol::constructors<entity(),entity(const entity&),entity(scene&)>()
|
||||||
,"add_child",&entity::add_child
|
,"add_child",&entity::add_child
|
||||||
,"remove_child",&entity::remove_child
|
,"remove_child",&entity::remove_child
|
||||||
,"child_count",sol::readonly_property(&entity::child_count)
|
,"child_count",sol::readonly_property(&entity::child_count)
|
||||||
|
|
|
@ -16,13 +16,13 @@ namespace pw {
|
||||||
void register_visual_function(sol::state& lua,sol::table &ns)
|
void register_visual_function(sol::state& lua,sol::table &ns)
|
||||||
{
|
{
|
||||||
|
|
||||||
ns.new_usertype<pipeline>("pipeline"
|
// ns.new_usertype<pipeline>("pipeline"
|
||||||
,"create",&pipeline::create
|
// ,"create",&pipeline::create
|
||||||
,"draw",&pipeline::draw
|
// ,"draw",&pipeline::draw
|
||||||
);
|
// );
|
||||||
|
|
||||||
ns.new_usertype<shader>("shader"
|
ns.new_usertype<shader>("shader"
|
||||||
,sol::constructors<shader()>()
|
,sol::call_constructor,sol::constructors<shader()>()
|
||||||
,"ready",sol::readonly_property(&shader::ready)
|
,"ready",sol::readonly_property(&shader::ready)
|
||||||
,"use",&shader::use
|
,"use",&shader::use
|
||||||
,"build",&shader::build
|
,"build",&shader::build
|
||||||
|
@ -54,7 +54,7 @@ void register_visual_function(sol::state& lua,sol::table &ns)
|
||||||
|
|
||||||
|
|
||||||
ns.new_usertype<renderer>("renderer"
|
ns.new_usertype<renderer>("renderer"
|
||||||
,sol::constructors<renderer(),renderer(const geometry&)>()
|
,sol::call_constructor,sol::constructors<renderer(),renderer(const geometry&)>()
|
||||||
,"create",&renderer::create
|
,"create",&renderer::create
|
||||||
,"ready",sol::readonly_property(&renderer::ready)
|
,"ready",sol::readonly_property(&renderer::ready)
|
||||||
,"release",&renderer::release
|
,"release",&renderer::release
|
||||||
|
@ -62,14 +62,14 @@ void register_visual_function(sol::state& lua,sol::table &ns)
|
||||||
);
|
);
|
||||||
|
|
||||||
ns.new_usertype<framebuffer>("framebuffer"
|
ns.new_usertype<framebuffer>("framebuffer"
|
||||||
,sol::constructors<framebuffer()>()
|
,sol::call_constructor,sol::constructors<framebuffer()>()
|
||||||
,"create",&framebuffer::create
|
,"create",&framebuffer::create
|
||||||
,"bind",&framebuffer::bind
|
,"bind",&framebuffer::bind
|
||||||
,"unbind",&framebuffer::unbind
|
,"unbind",&framebuffer::unbind
|
||||||
,"blit",&framebuffer::blit);
|
,"blit",&framebuffer::blit);
|
||||||
|
|
||||||
ns.new_usertype<texture>("texture"
|
ns.new_usertype<texture>("texture"
|
||||||
,sol::constructors<texture()>()
|
,sol::call_constructor,sol::constructors<texture()>()
|
||||||
,"create",&texture::create
|
,"create",&texture::create
|
||||||
,"update",&texture::update
|
,"update",&texture::update
|
||||||
,"bind",&texture::bind
|
,"bind",&texture::bind
|
||||||
|
@ -78,7 +78,7 @@ void register_visual_function(sol::state& lua,sol::table &ns)
|
||||||
);
|
);
|
||||||
|
|
||||||
ns.new_usertype<context>("context"
|
ns.new_usertype<context>("context"
|
||||||
,sol::constructors<context()>()
|
,sol::call_constructor,sol::constructors<context()>()
|
||||||
,"clear",&context::clear
|
,"clear",&context::clear
|
||||||
,"set_viewport",&context::set_viewport
|
,"set_viewport",&context::set_viewport
|
||||||
,"get_error",&context::get_error
|
,"get_error",&context::get_error
|
||||||
|
|
|
@ -15,13 +15,13 @@ local w = pw.window.new()
|
||||||
w.title = "pixwerx - bare rendering"
|
w.title = "pixwerx - bare rendering"
|
||||||
|
|
||||||
-- set size
|
-- set size
|
||||||
w.size = pw.size.new(640,480)
|
w.size = pw.size(640,480)
|
||||||
|
|
||||||
-- move window
|
-- move window
|
||||||
w.position = pw.point.new(100,100)
|
w.position = pw.point(100,100)
|
||||||
|
|
||||||
-- create a new geometry
|
-- create a new geometry
|
||||||
local g = pw.geometry:new()
|
local g = pw.geometry()
|
||||||
|
|
||||||
g.primitive_topology = pw.primitive_topology_type.triangle_list -- meh
|
g.primitive_topology = pw.primitive_topology_type.triangle_list -- meh
|
||||||
|
|
||||||
|
|
|
@ -8,8 +8,8 @@ pw.script:load_all()
|
||||||
print("executable path:",pw.path.get().executable_path)
|
print("executable path:",pw.path.get().executable_path)
|
||||||
print("resource path:",pw.path.get().resource_path)
|
print("resource path:",pw.path.get().resource_path)
|
||||||
|
|
||||||
local img = pw.image.new()
|
local img = pw.image()
|
||||||
if not img:create(pw.size(64,64),pw.pixel_layout.rgb8) then
|
if not img:create(pw.size(512,512),pw.pixel_layout.rgb8) then
|
||||||
|
|
||||||
print("image couldnt be created")
|
print("image couldnt be created")
|
||||||
|
|
||||||
|
@ -42,10 +42,10 @@ g.primitive_topology = pw.primitive_topology_type.triangle_list -- meh
|
||||||
|
|
||||||
-- create texture coordinates
|
-- create texture coordinates
|
||||||
g.texture_coordinates = { {
|
g.texture_coordinates = { {
|
||||||
|
{ 0.0, 0.0 },
|
||||||
{ 1.0, 1.0 },
|
{ 1.0, 1.0 },
|
||||||
{ 1.0, 0.0 },
|
{ 1.0, 0.0 },
|
||||||
{ 0.0, 1.0 },
|
{ 0.0, 1.0 }
|
||||||
{ 0.0, 0.0 }
|
|
||||||
} }
|
} }
|
||||||
|
|
||||||
z = -5.0
|
z = -5.0
|
||||||
|
@ -79,7 +79,7 @@ local mm = pw.matrix4x4.identity
|
||||||
local mv = pw.matrix4x4()
|
local mv = pw.matrix4x4()
|
||||||
local mp = pw.matrix4x4()
|
local mp = pw.matrix4x4()
|
||||||
|
|
||||||
local s = pw.shader:new()
|
local s = pw.shader()
|
||||||
|
|
||||||
s:set_source(pw.shader_type.vertex,[[
|
s:set_source(pw.shader_type.vertex,[[
|
||||||
#version 400
|
#version 400
|
||||||
|
@ -122,7 +122,7 @@ if not s:build() then
|
||||||
end
|
end
|
||||||
|
|
||||||
-- the renderer for a geometry
|
-- the renderer for a geometry
|
||||||
local renderer = pw.renderer:new()
|
local renderer = pw.renderer()
|
||||||
|
|
||||||
if not renderer:create(g) then
|
if not renderer:create(g) then
|
||||||
print("couldn't create renderer")
|
print("couldn't create renderer")
|
||||||
|
@ -134,9 +134,9 @@ local cam_pos = pw.vector3(0,0,0)
|
||||||
local model_pos = pw.vector3(0,0,0)
|
local model_pos = pw.vector3(0,0,0)
|
||||||
|
|
||||||
|
|
||||||
local ctx = pw.context:new()
|
local ctx = pw.context()
|
||||||
|
|
||||||
local tx = pw.texture:new()
|
local tx = pw.texture()
|
||||||
tx:create(img)
|
tx:create(img)
|
||||||
|
|
||||||
w.on_resize = function(self)
|
w.on_resize = function(self)
|
||||||
|
@ -171,23 +171,17 @@ w.on_update = function(self)
|
||||||
|
|
||||||
-- update the uniforms, currently the slow path
|
-- update the uniforms, currently the slow path
|
||||||
s:set_uniform_mat4("model",mm)
|
s:set_uniform_mat4("model",mm)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
s:set_uniform_mat4("view",mv)
|
s:set_uniform_mat4("view",mv)
|
||||||
s:set_uniform_mat4("projection",mp)
|
s:set_uniform_mat4("projection",mp)
|
||||||
s:set_uniform_vec4("color",cl)
|
s:set_uniform_vec4("color",cl)
|
||||||
|
|
||||||
s:set_uniform_int("tex_color",0)
|
s:set_uniform_int("tex_color",0)
|
||||||
|
|
||||||
|
|
||||||
tx:bind()
|
tx:bind()
|
||||||
|
|
||||||
-- draw
|
-- draw
|
||||||
renderer:draw()
|
renderer:draw()
|
||||||
|
|
||||||
-- tx:unbind()
|
|
||||||
|
|
||||||
local e = ctx:get_error()
|
local e = ctx:get_error()
|
||||||
if e ~= 0 then
|
if e ~= 0 then
|
||||||
print("OpenGL error",e)
|
print("OpenGL error",e)
|
||||||
|
|
|
@ -31,6 +31,8 @@ namespace pw {
|
||||||
class path {
|
class path {
|
||||||
public:
|
public:
|
||||||
|
|
||||||
|
using path_list = std::vector<std::string>;
|
||||||
|
|
||||||
static path& get();
|
static path& get();
|
||||||
~path();
|
~path();
|
||||||
|
|
||||||
|
@ -38,19 +40,15 @@ public:
|
||||||
|
|
||||||
std::string executable_path() const;
|
std::string executable_path() const;
|
||||||
|
|
||||||
std::string resource_path() const;
|
path_list resource_paths() const { return _resource_paths; }
|
||||||
|
void set_resource_paths(path_list pl);
|
||||||
typedef std::vector<std::string> path_list;
|
|
||||||
|
|
||||||
std::string find_file(const std::string &filename) const;
|
std::string find_file(const std::string &filename) const;
|
||||||
|
|
||||||
path_list resource_paths() const { return _resource_paths; }
|
|
||||||
|
|
||||||
std::string get_filename(const std::string &filepath, bool with_extension = true) const;
|
std::string get_filename(const std::string &filepath, bool with_extension = true) const;
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
|
|
||||||
path_list _plugin_paths;
|
|
||||||
path_list _resource_paths;
|
path_list _resource_paths;
|
||||||
|
|
||||||
path();
|
path();
|
||||||
|
|
|
@ -84,6 +84,11 @@ std::string path::executable_path() const
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void path::set_resource_paths(path::path_list pl)
|
||||||
|
{
|
||||||
|
_resource_paths = pl;
|
||||||
|
}
|
||||||
|
|
||||||
std::string path::find_file(const std::string&) const
|
std::string path::find_file(const std::string&) const
|
||||||
{
|
{
|
||||||
// TODO: Implement
|
// TODO: Implement
|
||||||
|
|
|
@ -5,6 +5,8 @@
|
||||||
|
|
||||||
#include "glad/glad.h"
|
#include "glad/glad.h"
|
||||||
|
|
||||||
|
#include <limits>
|
||||||
|
|
||||||
namespace pw {
|
namespace pw {
|
||||||
|
|
||||||
// TODO stencil buffer?
|
// TODO stencil buffer?
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue