Releases: bluekyu/render_pipeline_cpp
Releases · bluekyu/render_pipeline_cpp
v0.7.0
Third-party
- vcpkg: v0.0.113
RPCore
- Update latest Panda3d compatibility
- Fix errors by removing using namespace std in panda3d patch
- Fix compile errors by removing using namespace
- Upgrade vcpkg to v0.0.113
- RTTI is disabled
- Remove dynamic cast from DirectGUI
- Update DayBaseType interface to remove dcast
- Add option to enable RTTI (default is off)
- Remove codes for vs2013
- Add getter for location of library
- Add simple loader for RPAssimp
- Remove global ptr in Render Pipeline
RPPlugins
- Add downcast to RenderStage and change downcast usage in Plugin
- The name of downcast macro is renamed
- Impl of downcast is removed
- Add dll mode parameter
- Fix inconsistent prefix about rpplugins
- Change the prefix from rpplugin to rpplugins
RPPanda
- Fix wrong bit operation in Actor
- Implement missing functions in Messenger (#14)
- Remove functions without DirectObject in Messenger
RPAssimp
- Add rpassmip module
- Add BUILD_RPASSIMP option
CMake
- Update Findpanda3d
- Add Threads dependency to Panda3D components
- Add compile feature
- Fix eigen dependency
- Fix pandagl dependency
- Add prefix property to debugging-information
- Update cmake minimum required version to 3.10.2
- Add cmake function to check installed directory
Misc
- Fix some warnings
- Fix warning by unsafe std::copy
v0.6.0
Third-party
- Boost: v1.67.0
- vcpkg: v0.0.111
RPCore
- Add create_triangle_mesh function for vertex-only geometry
- Fix wrong implementation about disabling stage
- Add checking version compatibility in plugins
- Mismatch of major version disables plugin
- Mismatch of minor version just warns message
- Fix crash when failed to find plugin
- Fix crash by deleted showbase in MovementController
- Change usage of UpscaleStage
- UpscaleStage is not used only when "win-fixed-size" option is enabled
- Add support of 3D texture for RenderTarget
- Add point based PostProcessRegion and buffer
- Fix wrong insert method in Messenger (vs2013)
- Fix a issue that "window-event" event is not called
- Recollect scene data when debug gui is shown
- Change APIs of lazy initialization
- Update functions for releasing resources
- RenderPipeline does not hold external ShowBase
- PluginManager does not release DLLs
- Instead, you can release those explicitly using PluginManager::release_all_dll()
- Implement add_environment_probe
RPPlugins
- Refactoring env_probes for terrain example
RPPanda
- Update window event by closing window
- Add window_event function (#3)
- Closing main window will call ShowBase::user_exit()
- Add file open functions using VirtualFileSystem
- Remove partBundleHandle header from actor header
- Add manual initializer in ShowBase
- Update functions for releasing resources
- Add destroy function to ShowBase
- Add user data to FunctionalTask
- Add data parameter to task functions
Loader
- Implement asynchronous model loading (#20)
- Implement unload_model
- Fix missing pass of arguments in Loader
- Fix incorrect branch for no_cache option
- Implement async_flatten_done
CMake
- Specify languages
- Change API compatibility to Minor from Major
- Use vcpkg for thirdparty
- Add eigen dependency to Findpanda3d.cmake
- Add debug flag to Release config and update cmake for installing debinfo
- Add CONFIGURATIONS parameter for debugging_information functions
- Add useful compiler flags and linker flags from vcpkg
- Add hint cache to Findpanda3d
- Remove FindPackages
- Remove find_boost helper
- Add library dependencies to config cmake file
- Update render_pipeline_find_plugins
- Add REQUIRED option
- Remove status message about already found plugins
Misc
- Refactoring some codes and styles
- Fix compatibility by Panda3D update
- WeakPointer update (panda3d/panda3d@0bb81a4)
- config_util.h renaming (panda3d/panda3d@47f7d3f)
- C++11 macro remove (panda3d/panda3d@9fad3db)
v0.5.0
RPCore
- Add output stream function in RPMaterial
- Change to unique_ptr for BasePlugin creator
- PostProcessRegion creates unique_ptr, not raw pointer
- rpcore::Globals has unload function and is unloaded before removing showbase
- Update some memory management and plugin unload timing (Fix #18)
- Implement OrderedMap for settings data
- Change std::map to OrderedMap
- Change map to unordered_map
- Add compute_render_resolution function using scale and size
- Change dynamic_cast to static_cast using downcast function
RPPanda
- Update DirectEntry in upstream (panda3d/panda3d@78377ca)
- Add exit function to ShowBase
- Add TaskChain feature to TaskManager
- Implement owner and auto deleter for tasks in DirectObject
CMake
- Apply cmake_parse_arguments to debugging-information.cmake
Misc
Config
- Enable threading
Fixes
- Fix intel glsl error by #line directive
- Fix IESDatasetTex error message
- The stage includes ies_lighting.inc.glsl
- Fix #12
- Fix incorrect usage of map::insert
v0.4.0
RPCore
- Add load_shared_library API to BasePlugin
- Update logger and mount manager
- Change RPLogger to LoggerManager.
- Craete LoggerManager instance in MountManager.
- Add single-view mode in stereo mode
- Change value of "stereo_mode" in pipeline.yaml
- Fix view matrix in Panda3D stereoscopic rendering
- Change PostProcessRegion to public
- Change sort value of tasks
- 51 to 55 for BasicPlugin::post_render_update
- (-40) to (-50) for UpdateMovementController
- Change shared to unique in map of RenderTarget
- Change shared to unique for RenderStage
- BasePlugin has ownership of RenderStage
Utils
- Remove struct parameters from MetaInterval, Text, RPTextNode, TextNode
- Change some default arguments to sensible member variables
- Remove RPModel and flatbuffers
- Update PointsNode and RPGeomNode
- Add modification function for vertex data (v3n3t2 format)
- Add getters for counting vertices and indices.
- Remove point mesh functions. Use PointsNode, instead.
- Change default vertex coords in plane primitive
- Add range and fix usage of metallic in RPMaterial
- Add mesh creating function for triangle mesh
- Add getter for Render Pipeline textures to RPGeomNode
- Add RPRenderState adapter for RenderState
GUI
- Export DraggableWindow class
- Implement render mode selector
- Implement CheckboxCollection
- Fix issue that old file is not truncated when rewriting the file
RPPanda
-
Re-design task objects and API
- Add FunctionalTask using std::function.
- Add TaskManager in rppanda
- Update task API in DirectObject
- Remove add_task using GenericAsyncTask
- Remove static functions for GenericAsyncTask
- Change AsyncTaskManager to TaskManager in ShowBase
-
Add Messenger class in rppanda and apply it
- Add Messenger class using std::function.
- Update event API in DirectObject.
- Update many event codes using the API
-
Refactoring API of Direct GUI
- Remove extra_args parameter
- Instead, bind the args to std::function
- Change set_* function name to update_* in DirectFrame.
- Add 'hidden' nodepath.
- Remove extra_args parameter
-
Actor
- Update and implement additional parts in Actor class
- Implement some parts in ActorInterval
- Add functions to control joint tree and all joints
-
Loader
- Add load_font, load_texture, load_2d_texture_array, load_cube_map, load / unload funcs
-
Add prepare functions to DirectFrame
-
Change interfaces in OnscreenText
-
Add DirectEntry
-
Add DGG_ prefix to variables in direct_gui_globals
Fixes
- Add
ALLOC_DELETED_CHAIN
to DirectObject and inherited objects. - Fix pad size and add pad function (#2)
GLSL shaders
- Add texture matrix for texture transform
- Fix error by pixel inspector in stereo mode
- Add depth modification to render sphere from point primitive
CMake
- Change minimum version of cmake to 3.9
- Findpanda3d
- Add finding debug library of Panda3D
- Findpanda3d requires component names
- Add "render_pipeline::" namespace to render_pipeline target
- Change upper to lower case for function to find rpplugins
- Add link optimization options in MSVC
- Add utf-8 option
- Add permissive flag for MSVC
- Fix hard coded destination value
Misc
- Clarify ownership of pointer data
- Refactoring codes
- Update documents
- Remove doxygen documents directory
Fixes
- Fix errors in Visual Studio 2015 and Linux (clang)
- Fix canonical bug in boost::fs using WinAPI
- Fix bug by empty line when processing shader template
v0.3.1
v0.3.0
Core
- Droped support of Visual Studio 2015.
- Required C++14 option.
- Update PImpl implementation
- Change
struct
toclass
for PImpl. - Removed ctor body of PImpl.
- Removed potential crash by non-initialized impl pointer can be used when PImpl ctor calls another functions.
- Remove self in PImpl.
- Change
- Added return-value to some functions for validation.
- Added default global logger.
- Supported extended-length path for loading plugins.
- Removed
struct Parameters
inCheckbox
,LabeledCheckbox
,Slider
classes. - Removed
StageData
- Changed
StageData
toboost::variant
.
- Changed
- Removed
effects
directory from virtual file system. - Removed
version.hpp
file - Fixed
flatc
re-running issue. - Fixed usage of
MSC_VER
macro.
Rendering
- Changed
CircularPointsNode
toPointsNode
.- Added
set_circular_points
function to render circular point. - Added stereo rendering of
PointsNode
.
- Added
- Added functions to modify point geometry.
RPPanda
- Added
Loader
class. - Added
ActorInterval
class (but not implemented). - Added
setup_render_2d
function toShowBase
. - Added export declaration to direct GUI.
- Implemented some parts in
Actor
class. - Changed C++ smart pointer to Panda3D reference counter in
rppanda
codes. - Changed type name of
rppanda
classes. - Changed
void
pointer args to smart pointer args inSlider
andDirectSlider
. - Removed
struct Parameters
in*Interval
classes. - Fixed
ShowBase
codes related toLoader
.
Plugin
- Added
macro.cmake
files for plugins.
CMake
- Added cmake file for generating stripped pdb file.
- Added version, build_date, git_commit functions
- Updated cmake file for versioning
Documents
- Added model snippet
- Added about virtual file system.
- Added about stereo rendering in Korean.
- Added model export guide in Korean.
- Updated build guides.
- Fixed doucment links.
v0.2.1
v0.2.0
Core
- Use
spdlog
for logging. - Use
flatbuffers
for model meta data- Add
flatbuffers
dependency.
- Add
- Changed header file extension to hpp.
- Load only enabled plugins.
- Added
final
keyword. - Added
NOEXCEPT
macro. - Added version macro.
- Added clear_effect function to
RenderPipeline
class. - Added consturctor to create default framework
- Changed declare macro and plugin id macro.
Configuration
- Added a list of stereo plugins in plugins.yaml file.
- Changed installed path of
config
directory. - Fixed typo and default in prc file.
RPPanda
- Added audio and music manager to
ShowBase
. - Added sfx player and functions to
ShowBase
. - Added
SoundInterval
. - Add screenshot API to
ShowBase
.
Rendering
- Added custom rendering resolution.
- Added screen cropping and setting.
- Added function creating point geometry.
- Added modification function to InstancingNode.
- Added begin/end decorator into template shaders.
- Added template parsing for geometry shader.
- Added
CircularPointNode
class- This class draws circular point.
- Added circular point effect.
- Added default function to
RPMaterial
. - Added all
RPMaterial
properties to format of meta data. - Added
RPModel
class for wrapping model nodepath. - Added
RPGeomNode
for wrappingGeomNode
. - Added function to create plane from
CardMaker
. - Updated rendering resolution using scale or fixed resolution.
- Fixed scaling of loading screen.
- Fixed cube vertices and indices.
- Fixed resizing bug in upscale stage.
- Fixed flickering when window event happens.
Plugin
- Moved plugin information to
config.yaml
. - Added plugin creator macro.
- Changed plugin id macro name.
- Changed plugin directory structure.
- Changed plugin dll name.
- CMake
- Added plugin interface target.
- Added
rpplugin::PLUGIN_ID
target. - Added config and target cmake file.
CMake
- CMake uses target based configuration.
- Added package configuration.
- Remove
FindRenderPipeline.cmake
.
- Remove
- Added configuration postfix to CMake.
- Added disabling dll-interface warning.
- Added help function to find plugins.
- Added variables for installed directories.
- Updated Find*.cmake files to target based cmake style.
- Fixed installing pdb file.
Documents
- Rename doc to documents.
- Move doxyfile into documents.
- Added how to build with rpplugin and samples.
- Added code snippet