Dynamic Memory(DM) is a global memory used in pipeline shader processing,
it likes UBO(uniform buffer object) in OpenGL,
this object memory content could dynamically mutate during pipeline execution flow safely.
gpx::runtime::register_dynamic_memory
could create one Dynamic Memory object.
Vertices Viewer(VV) is a vertices object in p9 gpx,
it present a group of vertices of multi vertex types.
gpx::runtime::register_vertices_viewer
could create one Vertices Viewer object.
Texture Viewer(TV) is a texture object in p9 gpx,
it present a texture picture in memory.
gpx::runtime::register_texture_viewer
could create one Texture Viewer object.
Runtime is core of Gpx, execute main logic flow for Graphics processing.
gpx::runtime
is base type of multi-implementation class.
static ref<gpx::runtime::runtime> gpx::runtime::build(const gpx::runtime_desc& desc)build a core runtime and get reference to it.
vector<string> gpx::runtime::list_device()
get a list of usable physical device name.
boole gpx::runtime::init(const string& preferred_device_name = "")init a runtime core which is built already, input preferred_device_name running renderring job, or let runtime auto select highest-performance device.
boole gpx::runtime::uninit()
uninit a runtime which is already inited.
ref<gpx::window> gpx::runtime::build_window(const gpx::window_desc& desc)build a window and get reference to it.
boole gpx::runtime::remove_window(const string& window_name)remove a window by window name.
ref<gpx::window> gpx::runtime::get_window(const string& window_name)get a window reference by window name.
ref<gpx::shader> gpx::runtime::build_shader(const gpx::shader_desc& desc)build a shader and get reference to it.
boole gpx::runtime::register_dynamic_memory(const gpx::dynamic_memory_desc& desc)build a dynamic memory and get reference to it.
boole gpx::runtime::unregister_dynamic_memory(const string& dynamic_memory)destroy a registered dynamic memory which is not used anymore.
boole gpx::runtime::update_dynamic_memory(const string& dynamic_memory, void* src)update a dynamic memory content, input a pointer of source buffer.
boole gpx::runtime::setup_pipeline_dynamic_memory(const string& pipeline, const vector<string>& dm_vec)setup dynamic memory list for specific pipeline.
boole gpx::runtime::register_texture_viewer(const gpx::texture_viewer_desc& desc)build a texture viewer and get reference to it.
boole gpx::runtime::unregister_texture_viewer(const string& texture_viewer)destroy a texture viewer.
boole gpx::runtime::load_texture_viewer(const string& texture_viewer)load texture resource to Gpu memory.
boole gpx::runtime::unload_texture_viewer(const string& texture_viewer)unload texture resource from Gpu memory.
boole gpx::runtime::update_pipeline_texture_viewer(const string& pipeline_name, const vector<string>& viewers)setup or update texture viewer list for specific pipeline, this function can be could when pipeline running, input texture viewer must be loaded already
boole gpx::runtime::register_vertices_viewer(const gpx::vertices_viewer_desc& desc)build a vertices viewer and get reference to it.
boole gpx::runtime::unregister_vertices_viewer(const string& vertices_viewer)destroy a vertices viewer.
boole gpx::runtime::load_vertices_viewer(const string& vertices_viewer)load vertices resource to Gpu memory.
boole gpx::runtime::unload_vertices_viewer(const string& vertices_viewer)unload vertices resource from Gpu memory.
boole gpx::runtime::setup_pipeline_vertices_viewer(const string& pipeline_name, const vector<string>& viewers)setup vertices viewer list for specific pipeline, these vertices viewer are loaded already
boole gpx::runtime::register_pipeline(const gpx::pipeline_desc& desc)build a pipeline.
boole gpx::runtime::unregister_pipeline(const string& pipeline_name)destroy a pipeline.
boole gpx::runtime::load_pipeline_resource(const string& pipeline_name)load all pipeline resources,
gpx::runtime::setup_pipeline_dynamic_memory
,gpx::runtime::update_pipeline_texture_viewer
,gpx::runtime::setup_pipeline_vertices_viewer
are supposed to setup this pipeline before this function is called.
boole gpx::runtime::unload_pipeline_resource(const string& pipeline_name)unload pipeline resources, setup new resource for this pipeline or load pipeline in the future.
boole gpx::runtime::render(const string& pipeline_name)do one time renderring process to window.
boole gpx::runtime::wait_render_complete()
wait all pipelines complete renderring.
Window is Os display port handler.
gpx::window
is base type of multi-implementation class.
gpx::runtime::build_window
could create one Window object and get reference to it.
string gpx::window::name()
get window name.
boole gpx::window::start()
start displaying window.
boole gpx::window::stop()
stop displaying window.
boole gpx::window::poll_event()
process window input event.
boole gpx::window::is_running()
tell if a window is running.
Shader is render shader handler.
gpx::shader
is base type of multi-implementation class.
gpx::runtime::build_shader
could create one Shader object and get reference to it.
boole gpx::shader::load(const string& shader_path)load a shader to memory,
if shader created byVulkan
runtime, it must be a.spv
format file.
boole gpx::shader::unload()
unload a shader from memory.
gpx::shader_type gpx::shader::type()
get a type of shader, including
gpx::shader_type::VERTEX
,gpx::shader_type::TESSELLATION
,gpx::shader_type::GEOMETRY
,gpx::shader_type::FRAGMENT
.