Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0

### Changed

- multibody/RobotScene : move `invalid_enum()` back to cpp file
- multibody/RobotScene : always render to G-buffer normal map
- core: move header `LoadCoalGeometries.h` and its functions to library core
- multibody/Visualizer : rename a data member in Config
Expand All @@ -34,6 +35,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0

### Removed

- Remove deprecated header `candlewick/core/Renderer.h`
- Remove deprecated header `candlewick/multibody/LoadCoalPrimitives.h`

## [0.9.0] - 2025-08-12
Expand Down
16 changes: 9 additions & 7 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -95,13 +95,7 @@ ADD_PROJECT_DEPENDENCY(coal REQUIRED PKG_CONFIG_REQUIRES "coal >= 3.0.0")
ADD_PROJECT_DEPENDENCY(nlohmann_json 3.11.3 REQUIRED)
ADD_PROJECT_DEPENDENCY(EnTT REQUIRED)
ADD_PROJECT_DEPENDENCY(magic_enum 0.9.7 CONFIG REQUIRED)
if(BUILD_PINOCCHIO_VISUALIZER)
ADD_PROJECT_DEPENDENCY(
pinocchio
REQUIRED
PKG_CONFIG_REQUIRES "pinocchio >= 3.7.0"
)
endif()
ADD_PROJECT_DEPENDENCY(spdlog 1.10 REQUIRED)
ADD_PROJECT_DEPENDENCY(
FFmpeg
7.0.0
Expand All @@ -110,6 +104,14 @@ ADD_PROJECT_DEPENDENCY(
avcodec
swscale
)
if(BUILD_PINOCCHIO_VISUALIZER)
ADD_PROJECT_DEPENDENCY(
pinocchio
REQUIRED
PKG_CONFIG_REQUIRES "pinocchio >= 3.7.0"
)
endif()

set(CANDLEWICK_ASSETS_DIR ${PROJECT_SOURCE_DIR}/assets)
set(CANDLEWICK_SHADER_SRC_DIR ${PROJECT_SOURCE_DIR}/shaders)
set(
Expand Down
3 changes: 2 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -96,10 +96,11 @@ Candlewick depends mainly on:
* [Eigen](https://gitlab.com/libeigen/eigen/) - Linear algebra
* [Coal](https://github.com/coal-library/coal) - Collision detection, geometry primitives
* [magic_enum](https://github.com/Neargye/magic_enum) - Enum reflection utilities
* [spdlog](https://github.com/gabime/spdlog/) - Logging

These dependencies can be installed from Conda as follows:
```bash
conda install -c conda-forge sdl3 eigen coal magic_enum assimp entt nlohmann_json
conda install -c conda-forge sdl3 eigen coal magic_enum assimp entt nlohmann_json spdlog
```

Additionally, candlewick depends on the following bundled dependencies:
Expand Down
10 changes: 5 additions & 5 deletions examples/Ur5WithSystems.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -118,7 +118,7 @@ void eventLoop(const RenderContext &renderer) {
ImGui_ImplSDL3_ProcessEvent(&event);
ImGuiIO &io = ImGui::GetIO();
if (event.type == SDL_EVENT_QUIT) {
SDL_Log("Application exit requested.");
spdlog::info("Application exit requested.");
quitRequested = true;
break;
}
Expand Down Expand Up @@ -202,11 +202,11 @@ static void addTeapotGeometry(pin::GeometryModel &geom_model) {

static void screenshotButtonCallback(const RenderContext &renderer,
media::TransferBufferPool &pool,
const char *filename) {
std::string_view filename) {
const auto &device = renderer.device;
CommandBuffer command_buffer{device};

SDL_Log("Saving screenshot at %s", filename);
spdlog::info("Saving screenshot at {:s}", filename);
media::saveTextureToFile(command_buffer, device, pool,
renderer.resolvedColorTarget(),
renderer.colorFormat(), wWidth, wHeight, filename);
Expand Down Expand Up @@ -319,7 +319,7 @@ int main(int argc, char **argv) {
const size_t numRobotShapes =
registry.view<const multibody::PinGeomObjComponent>().size();
SDL_assert(numRobotShapes == geom_model.ngeoms);
SDL_Log("Registered %zu robot geometry objects.", numRobotShapes);
spdlog::info("Registered {:d} robot geometry objects.", numRobotShapes);

// DEBUG SYSTEM

Expand Down Expand Up @@ -539,7 +539,7 @@ int main(int argc, char **argv) {
}
gui_system.render(command_buffer);
} else {
SDL_Log("Failed to acquire swapchain: %s", SDL_GetError());
spdlog::info("Failed to acquire swapchain: {:s}", SDL_GetError());
continue;
}

Expand Down
7 changes: 6 additions & 1 deletion examples/Visualizer.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,8 @@
#include <CLI/Formatter.hpp>
#include <CLI/Config.hpp>

#include <spdlog/cfg/env.h>

using namespace candlewick::multibody;
using candlewick::sdlSampleToValue;
using pinocchio::visualizers::Vector3;
Expand Down Expand Up @@ -40,7 +42,7 @@ static void addBall(pin::GeometryModel &geom_model) {
geom_model.addGeometryObject(object);
}

int main(int argc, char **argv) {
int main(int argc, char *argv[]) {
CLI::App app{"Visualizer example"};
argv = app.ensure_utf8(argv);
std::array<Uint32, 2> window_dims{1920u, 1080u};
Expand All @@ -67,6 +69,9 @@ int main(int argc, char **argv) {

CLI11_PARSE(app, argc, argv);

spdlog::cfg::load_env_levels();
spdlog::set_pattern(">>> [%T] [%^%l%$] %v");
spdlog::info("Robot spec:\n{}", ur_robot_spec);
pin::Model model;
pin::GeometryModel geom_model;
loadModels(ur_robot_spec, model, &geom_model, NULL);
Expand Down
1 change: 0 additions & 1 deletion examples/lib/Common.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,6 @@

#include "Common.h"
#include <SDL3/SDL_init.h>
#include <SDL3/SDL_log.h>

using namespace candlewick;

Expand Down
Loading
Loading