Skip to content

Releases: bluekyu/render_pipeline_cpp

v0.7.0

06 Jul 01:04
Compare
Choose a tag to compare

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

02 Jun 08:24
Compare
Choose a tag to compare

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

v0.5.0

18 Apr 07:44
Compare
Choose a tag to compare

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

27 Mar 09:11
Compare
Choose a tag to compare

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.
  • 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

28 Aug 09:38
Compare
Choose a tag to compare

Core

  • Fix appveyor configuration.

Documents

  • Add thirdparty links in Build docs.

v0.3.0

24 Aug 10:43
Compare
Choose a tag to compare

Core

  • Droped support of Visual Studio 2015.
    • Required C++14 option.
  • Update PImpl implementation
    • Change struct to class 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.
  • Added return-value to some functions for validation.
  • Added default global logger.
  • Supported extended-length path for loading plugins.
  • Removed struct Parameters in Checkbox, LabeledCheckbox, Slider classes.
  • Removed StageData
    • Changed StageData to boost::variant.
  • 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 to PointsNode.
    • Added set_circular_points function to render circular point.
    • Added stereo rendering of PointsNode.
  • Added functions to modify point geometry.

RPPanda

  • Added Loader class.
  • Added ActorInterval class (but not implemented).
  • Added setup_render_2d function to ShowBase.
  • 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 in Slider and DirectSlider.
  • Removed struct Parameters in *Interval classes.
  • Fixed ShowBase codes related to Loader.

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

24 Aug 09:17
Compare
Choose a tag to compare

Core

  • Fixed flatc process.
  • Moved OpenVR plugin to rpcpp_plugin project.

Documents

  • Added for directory structures.
  • Removed about OpenVR

v0.2.0

24 Aug 09:07
Compare
Choose a tag to compare

Core

  • Use spdlog for logging.
  • Use flatbuffers for model meta data
    • Add flatbuffers dependency.
  • 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 wrapping GeomNode.
  • 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.
  • 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