1
0
forked from oomer/bellatui

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 render, downloading images. Additional commands allow viewing progress, stopping renders, etc

Usage

The same executable can be started in either client or server mode

Client

bellatui

========= Bella Engine SDK (version: 24.6.0.0, build date: 1734912267) =========
bellazmq connecting to server...
connection successful

Server

bellatui -s
========= Bella Engine SDK (version: 24.6.0.0, build date: 1734912267) =========
Entered: Public Key Serving Mode
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
cmake .. -DENABLE_CURVE=ON -DWITH_LIBSODIUM=/usr/include/sodium
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++

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

x64 Developer console

git clone https://github.com/oomer/bellatui.git
msbuild bellatui.vcxproj /p:Configuration=release /p:Platform=x64 /p:PlatformToolset=v143

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

# Windows

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 167 KiB
Languages
C++ 93.2%
Makefile 6.8%