Developing and debugging BlendLuxCore: Difference between revisions

From LuxCoreRender Wiki
Jump to navigation Jump to search
No edit summary
Line 1: Line 1:
= Introduction =
= Introduction =


== Goal and audience ==
This document explains the approach to bring a development version of BlendLuxCore (BLC) in Blender, so that it's possible to test and debug.
The targeted audience encompasses:
* BlendLuxCore development contributors
* BlendLuxCore advanced users/alpha testers who have been provided a dev version of BLC, in order to test a new feature.
== Statement of problem ==
BlendLuxCore (BLC) is in two parts:
BlendLuxCore (BLC) is in two parts:
* Python module
* Python module
Line 17: Line 24:
We'll see the use of those variables through several scenarios.
We'll see the use of those variables through several scenarios.


== Prerequisites ==
= Prerequisites =
We assume you have set a development environment on your local computer with:
We assume you have set a development environment on your local computer with:
* a cloned version of BlendLuxCore
* a cloned version of BlendLuxCore
Line 29: Line 36:
</pre>
</pre>


== Scenario #1: Working on BLC, using the standard wheel ==
= Scenario #1: Working on BLC, using the standard wheel =


In the environment where you run Blender, set BLC_DEV_PATH to the path of your dev repository:
In the environment where you run Blender, set BLC_DEV_PATH to the path of your dev repository:

Revision as of 07:58, 8 June 2025

Introduction

Goal and audience

This document explains the approach to bring a development version of BlendLuxCore (BLC) in Blender, so that it's possible to test and debug. The targeted audience encompasses:

  • BlendLuxCore development contributors
  • BlendLuxCore advanced users/alpha testers who have been provided a dev version of BLC, in order to test a new feature.

Statement of problem

BlendLuxCore (BLC) is in two parts:

  • Python module
  • Underlying pyluxcore library, brought by a Python wheel

In normal life, Blender loads the BLC Python module that has been regularly installed, which in turn loads the wheel from PyPi.

However, when developing BLC, we typically need to:

  • Have Blender load a development version of BLC
  • And optionally have BLC load a development version of the wheel

Those goals can be achieved via 2 environment variables:

  • BLC_DEV_PATH: path to the development version of BlendLuxCore
  • BLC_WHEEL_PATH: path to a development version of the wheel

We'll see the use of those variables through several scenarios.

Prerequisites

We assume you have set a development environment on your local computer with:

  • a cloned version of BlendLuxCore
  • and optionally a cloned version of LuxCore


We also assume you know how to build an installable package for BlendLuxCore:

cmake -S . -B out -DCMAKE_BUILD_TYPE=Release
cmake --build out

Scenario #1: Working on BLC, using the standard wheel

In the environment where you run Blender, set BLC_DEV_PATH to the path of your dev repository:

  • export BLC_DEV_PATH=/path/to/BlendLuxCore.

Run Blender.