poomer-bella-sine

Learning prototype cross-platform command line for Bella scene creation with sine wave. Depends on https://github.com/oomer/oom

Demonstrates

  • Auto camera framing of sine wave
  • Bella scene file writing
  • Using Diffuse Logic's logging
  • Using render event callbacks with EngineObserver override
  • Use of arguments
  • Adding quickmaterials to the scene
  • Shows how to wire node output ie belVoxelMat1["color"] |= belColor1.output("outColor");
  • Using both procedural Bella box and a mesh box modelled from Blender
  • Hiding boilerplate code like cube mesh and basic Bella scene population in .h files

Usage

poomer-bella-sine #generates a 100 voxel sine plot, output .bsa
poomer-bella-sine -n:1000 # plot 1000 voxels on sine curve
poomer-bella-sine -or:16 # render 16 frames of camera orbit
poomer-bella-sine -sa:60 # sets amplitude
poomer-bella-sine -sf:0.55 # sets sine frequency
poomer-bella-sine -cv:0.65 # sets color variation
poomer-bella-sine -em # sets one material per voxel plot with gradient
poomer-bella-sine -r # render current image
poomer-bella-sine -s:2 # set xfrom scale on voxels to double
poomer-bella-sine -sv # set xfrom scale on voxels using modulus
poomer-bella-sine -m:50 # set modulus event to occur every 50 voxels 

[todo] add checks for illegal argument values

Build

workdir/
├── build_engine_sdk/
├── oom/
└── poomer-bella-sine/

MacOS (kasm-monterey)

  • Install Xcode
mkdir workdir
cd workdir
curl -LO https://downloads.bellarender.com/bella_engine_sdk-25.3.0-macos.zip
unzip bella_engine_sdk-25.3.0-macos.zip
git clone https://git.indoodle.com/oomer/oom.git
git clone https://git.indoodle.com/oomer/poomer-bella-sine.git
cd poomer-bella-sine
make all -j4
bin/Darwin/release/poomer-bella-sine -r
open ./untitled.png

Ubuntu Linux (kasm-ubuntu)

sudo apt install -y build-essential curl
mkdir workdir
cd workdir
curl -LO https://downloads.bellarender.com/bella_engine_sdk-25.3.0-linux.tar.gz
tar -xvf  bella_engine_sdk-25.3.0.tar.gz
git clone https://git.indoodle.com/oomer/oom.git
git clone https://git.indoodle.com/oomer/poomer-bella-sine.git
cd poomer-bella-sine
make all -j4
bin/Linux/release/poomer-bella-sine -r
file ./untitled.png

Windows (win10 enterprise)

  • [optioanl] Install https://git-scm.com

  • Download Visual Studio Community Edition 2022

  • Run VisualStudioSetup.exe

  • Workload = [x] Desktop developemnt with C++

  • Individial components = [x] Git For Windows

Run x64 Native Tools Command Prompt for VS 2022

cd %USERPROFILE%
mkdir workdir
cd workdir
curl -LO https://downloads.bellarender.com/bella_engine_sdk-25.3.0-win32.zip
tar -xf bella_engine_sdk-25.3.0-win32.zip
git clone https://git.indoodle.com/oomer/oom.git
git clone https://git.indoodle.com/oomer/poomer-bella-sine.git
cd poomer-bella-sine
msbuild poomer-bella-sine.vcxproj /p:Configuration=release /p:Platform=x64 /p:PlatformToolset=v143 
x64\release\poomer-bella-sine.exe -r
start ./untitled.png
Description
Prototype command line for creating a simple Bella scene with sine wave
Readme MIT 84 MiB
Languages
C++ 72%
Makefile 28%