bellatui

Cross platform console based bella render server/client

A command line bella renderer with encrypted networking with an interactive TUI ( text user interface )for uploading .bsz scenes, starting renders, downloading images. Additional commands allow viewing progress, stopping renders, etc

Usage

command: help, send, get, stat, render, stop

Precompile Binaries

Windows

MacOS

Apple Gatekeeper blocks non-notarized executables by default.

Ubuntu Linux

apt install -y libsodium-dev

Client

bellatui --serverAddress:discord.beantip.ca

bellatui connecting to discord.beantip.ca ...
Connection to discord.beantip.ca successful
send orange-juice.bsz
Sending:orange-juice.bsz
Server Readiness: RDY
sending
.........................................................................
render
Server response: render started...type stat to get progress
stat 
Server response: Saturn | Elapsed: 6s | Bench: 1704
stat 
Server response: Saturn | Elapsed: 41s | Progress: 22.65%

Server

bellatui --server
BellaTUI server started ...
Awaiting new client ...
expect
Client connected

Build

##MacOS

mkdir ~/homebrew
curl -L https://github.com/Homebrew/brew/tarball/master | tar xz --strip-components 1 -C ~/homebrew
eval "$(~/homebrew/bin/brew shellenv)"
brew update --force --quiet
chmod -R go-w "$(brew --prefix)/share/zsh"
curl -LO https://github.com/Kitware/CMake/releases/download/v3.31.6/cmake-3.31.6-macos-universal.dmg
open cmake-3.31.6-macos-universal.dmg 
brew install libsodium
brew install gnutls
brew install pkg-config
git clone https://github.com/zeromq/libzmq
cd libzmq
mkdir build
cd build
/Applications/CMake.app/Contents/bin/cmake .. -DENABLE_CURVE=ON -DWITH_LIBSODIUM=~/homebrew/Cellar/libsodium/1.0.20/include/sodium -DSODIUM_INCLUDE_DIRS=~/homebrew/Cellar/libsodium/1.0.20/include -DSODIUM_LIBRARIES=~/homebrew/Cellar/libsodium/1.0.20/lib/libsodium.a
make
cd ..
git clone https://github.com/zeromq/cppzmq
git clone https://github.com/oomer/bellatui.git
cd bellatui
makefile

##Linux

Build

Linux

bella_engine_sdk

curl -O https://downloads.bellarender.com/bella_engine_sdk-24.6.0.tar.gz
tar -xvf bella_engine_sdk-24.6.0.tar.gz

ubuntu tool needed

apt install -y build-essential
apt install -y libx11-dev
apt install  -y libgl1-mesa-dev
apt install -y libtool
apt install -y libsodium-dev
apt install -y cmake
apt install libgnutls28-dev 
apt install pkg-config 
dnf groupinstall -y "Development Tools"
dnf install -y libX11-devel
dnf install -y mesa-libGL-devel
dnf install -y libtool
dnf install -y libsodium-devel
dnf install -y cmake
dnf install -y gnutls-devel
dnf install -y pkg-config

libzmq

git clone https://github.com/zeromq/libzmq
cd libzmq
mkdir build
cd build

This one
cmake .. -DENABLE_CURVE=ON -DWITH_LIBSODIUM=/usr/include/sodium


cmake .. -DENABLE_DRAFTS=OFF -DWITH_TLS=OFF -DENABLE_CURVE=ON -DWITH_LIBSODIUM=/usr/include/sodium

cmake .. -DENABLE_DRAFTS=OFF -DWITH_TLS=OFF -DENABLE_CURVE=ON -DWITH_LIBSODIUM=/usr/include/sodium -DSODIUM_INCLUDE_DIRS=/usr/include -DSODIUM_LIBRARIES=/usr/lib/x86_64-linux-gnu/libsodium.a

cmake .. -DENABLE_DRAFTS=OFF -DWITH_TLS=OFF -DENABLE_CURVE=ON -DWITH_LIBSODIUM=../../libsodium/src/libsodium/include/sodium -DSODIUM_INCLUDE_DIRS=../../libsodium/src/libsodium/include -DSODIUM_LIBRARIES=../../libsodium/src/libsodium/.libs/libsodium.a

make -j4
make install

cppzmq

cd ../..
git clone https://github.com/zeromq/cppzmq
cd cppzmq
mkdir build
cd build
cmake .. 

bellatui

cd ../..
git clone https://github.com/oomer/bellatui.git
cd bellatui
make

Windows

https://aka.ms/vs/17/release/vs_BuildTools.exe

[ ] Desktop development wiht C++

Get bella_engine_sdk

x64 Developer console

git clone https://github.com/microsoft/vcpkg.git
cd vcpkg
vcpkg install zeromq[sodium]:x64-windows 

git clone https://github.com/oomer/bellatui.git

msbuild bellatui.vcxproj /p:Configuration=release /p:Platform=x64 /p:PlatformToolset=v143

Build directories be relative

--folder
    --bella_engine_sdk
    --bellatui

MacOS

Use this when homebrew commands are needed

eval "$(~/homebrew/bin/brew shellenv)"

Install homebrew without sudo

Run the eval to set dev variables and path

mkdir ~/homebrew
curl -L https://github.com/Homebrew/brew/tarball/master | tar xz --strip-components 1 -C ~/homebrew
eval "$(~/homebrew/bin/brew shellenv)"
brew update --force --quiet
chmod -R go-w "$(brew --prefix)/share/zsh"

cmake , drag to Applications

curl -LO https://github.com/Kitware/CMake/releases/download/v3.31.6/cmake-3.31.6-macos-universal.dmg
open cmake-3.31.6-macos-universal.dmg 

brew dependencies

brew install libsodium
brew install gnutls
brew install pkg-config

compile libzmq

git clone https://github.com/zeromq/libzmq
cd libzmq
mkdir build
cd build

/Applications/CMake.app/Contents/bin/cmake .. -DENABLE_DRAFTS=OFF -DWITH_TLS=OFF -DENABLE_CURVE=ON -DWITH_LIBSODIUM=~/homebrew/Cellar/libsodium/1.0.20/include/sodium -DSODIUM_INCLUDE_DIRS=~/homebrew/Cellar/libsodium/1.0.20/include -DSODIUM_LIBRARIES=~/homebrew/Cellar/libsodium/1.0.20/lib/libsodium.a


make
cd ../..

header only cppzmq

git clone https://github.com/zeromq/cppzmq

bellatui

cd ../..
git clone https://github.com/oomer/bellatui.git
cd bellatui
make

Notes

g++ -std=c++11 server.cpp -o server -I../libzmq/include -I../cppzmq -L../libzmq/build/lib -lzmq -Wl,-rpath,. 
g++ -std=c++11 server.cpp -o server -I../libzmq/include -I../cppzmq -L../libzmq/build/lib -lzmq -Wl,-rpath,. 

cl /std:c++17 client.cpp -Fe:client.exe -Ic:\Users\cupcake\github\vcpkg\installed\x64-windows\include\ /link c:\Users\cupcake\github\vcpkg\installed\x64-windows\lib\libzmq-mt-4_3_5.lib

cl /std:c++17 server.cpp -Fe:server.exe -Ic:\Users\cupcake\github\vcpkg\installed\x64-windows\include\ /link c:\Users\cupcake\github\vcpkg\installed\x64-windows\lib\libzmq-mt-4_3_5.lib



clang++ -o bin/Darwin/client obj/Darwin/client.o -mmacosx-version-min=11.0 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk -framework Cocoa -framework IOKit -framework CoreVideo -framework CoreFoundation -framework Accelerate -fvisibility=hidden -O5 -rpath @executable_path -weak_library ./lib/libvulkan.dylib -L./lib -L../libzmq/build/lib -lbella_engine_sdk -lm -lzmq -ldl

Description
Cross platform console based bella render server/client
Readme MIT 93 KiB
Languages
C++ 93.7%
Makefile 6.3%