[jetson nano]virtualglのコンパイル

jetson nanoだとvirtualgl v2.6.4でコンパイルも実行もエラーにならずに動きました。# apt upgradeしています。

コンパイルにあたって、libturbojpeg libturbojpeg0-dev ocl-icd-opencl-devとlibxtst-dev、libxcb-keysyms1-devをapt installしておく。

macからつなぐ時はXQurtzとvirtualglの同じバージョンを入れておいて、

/opt/VirtualGL/bin/vglconnect -e xfce4-terminal jetson.local

と、つないで、

VGL_CLIENT=<つないでるマシンのホストか、IPアドレス> vglrun glxinfo

などをします。

Windowsではcygwinをいれてそのインストーラでvirtualglのパッケージを選んでインストールできます。X-windowはcygwinのより、Xmingの方が安定的かもしれません(最近いれたcygwinのXWin.exeでvirtualglがコケるので)。

参考:

libjpeg-turboのコンパイル

virtualglのコンパイルに使うlibjpeg-turboのコンパイルしたバイナリはmakeしたディレクトリの.libs/ディレクトリにおかれます。

rm CMakeCache.txt
cmake -G"Unix Makefiles" -DTJPEG_INCLUDE_DIR="$HOME/document/libjpeg-turbo-1.5.3" -DTJPEG_LIBRARY="-L$HOME/document/libjpeg-turbo-1.5.3/build/.libs -lturbojpeg"
make

dockerでdebootstrap

debootstrapだけど、procがいらない場合に。

RUN apt install -y sudo
RUN sudo apt install -y schroot debootstrap
RUN sudo mkdir /srv/chroot
RUN sudo mkdir /srv/chroot/debian-armhf
RUN sudo debootstrap --arch armhf --foreign buster /srv/chroot/debian-armhf http://debian.xtdv.net/debian
RUN sed -i '/setup_devices ()/a return 0' /srv/chroot/debian-armhf/debootstrap/functions
RUN sed -i '/setup_proc ()/a return 0' /srv/chroot/debian-armhf/debootstrap/functions
RUN sudo chroot "/srv/chroot/debian-armhf" /debootstrap/debootstrap --second-stage

参考

FIXES.PUB Dockerコンテナ内のdebootstrap

BlenderのWindows版のビルドのメモ(サイドバイサイドエラーが出る場合の対処)

ソースツリーをはじめてビルドしたあとは、ソリューションエクスプローラーのBlenderツリーにあるCMakePredefinedTargetsのINSTALLをビルドコマンドで実行して、DLLやリソースをblender.exeの配置先にコピーしてもらってからblender.exeを実行する。

メモ

Dependent Assembly blender.crt,type=“win32”,version=“1.0.0.0” could not be found. Please use sxstrace.exe for detailed diagnosis.

実行エラーのログ

Blender devtalk - Trying to “Build Blender” getting error より

HSP3で日本語プログラミング

GOTO文

mes "スタート"

goto *あそこ

*ここ
	mes "ここ"

*あそこ
	mes "あそこ"

mes "ゴール"

stop

モジュール

#runtime "hsp3cl"

#module hoge dummy
#modinit
return
    #modfunc local foo
        mes "hoge"
    return
#global

#module huga dummy
#modinit
return
    #modfunc local foo
        mes "huga"
    return
#global
newmod hogex, hoge
newmod hugay, huga
foo@hoge hogex
foo@huga hugay
;https://qiita.com/YSRKEN/items/bbd3cad4cc1c1de9dcbb
#module ライト dummy
#modinit
	mes "ライトを作りました。"
	return
#modfunc 点ける
	mes "ライトを点けました。"
	return
#global

newmod ライト1,ライト
点ける ライト1

stop

モジュール HGIMG4 モデル登録

#module 盆踊りキャラ id, px,py,pz
#modinit str path, double x, double y, double z
	px = x : py = y : pz = z
	gpload id, path		; モデル読み込み
	setpos id, px,py,pz		; カメラ位置を設定
	mes "盆踊りキャラを作りました。"
	return
#modfunc local 置きなおす double x, double y, double z
	setpos id, x,y,z		; カメラ位置を設定
	mes "置きなおしました。"
	return
#modfunc local 踊る
	gpaddanim id,"ondo",0,-1		; "run"クリップを設定
	gpact id,"ondo"			; "run"クリップを再生
	mes "踊ります。"
	return
#modfunc local 当たり判定をつける
	gppbind id, 0
	mes "当たり判定をつけました。"
	return
#global
;newmod v, 盆踊りキャラ, "res/model", 0.0, 0.0, 0.0
;踊る@盆踊りキャラ 盆踊りキャラ1
#module オブジェクト id, px,py,pz
#modinit str path, double x, double y, double z
	px = x : py = y : pz = z
	gpload id, path		; モデル読み込み
	setpos id, px,py,pz		; オブジェクト位置を設定
	mes "オブジェクトを作りました。"
	return
#modfunc local 置きなおす double x, double y, double z
	setpos id, x,y,z		; オブジェクト位置を設定
	mes "置きなおしました。"
	return
#modfunc local 大きさを変える double x, double y, double z
	setscale id, x,y,z		; オブジェクト向きを設定
	mes "大きさを変えました。"
	return
#modfunc local 向きを変える double x, double y, double z
	setang id, x,y,z		; オブジェクト向きを設定
	mes "向きを変えました。"
	return
#modfunc local 当たり判定をつける
	gppbind id, 0
	mes "当たり判定をつけました。"
	return
#global
;newmod v, オブジェクト, "res/model", 0.0, 0.0, 0.0
;向きを変える@オブジェクト 太鼓外側(0), 0.0, 0.7, 0.0
;当たり判定をつける@オブジェクト 太鼓外側(0)

※2021年10月18日現在?ライトは#moduleすると光らない?

blender2.92でリンクされた&マテリアルのついたオブジェクトのテクスチャをベイクで作る

リンクがある.blendで一枚絵のテクスチャを作るのに必要なこと

・ベイクする
 - ベイクしたいモデルのObject Data PropertyウィンドウでUV Mapsを追加してSmart UV Projectしておく。
 - リンクされたオブジェクトもベイクするにはオブジェクトを選択してMake Local(またはF3キーのMenu SearchでMake Local >ALLを選ぶ)して、.blendをまたがないようにする。
 - ベイクされた結果を書き込む新規画像を、テクスチャを貼りたいオブジェクトのシェーダーノードでテクスチャノードを作っておく(テクスチャノードでNew Imageする)
 - ベイク前にテクスチャを貼りたいオブジェクトを3D Viewで選択しておいて、シェーダーノードでベイクされた結果を書き込みたいテクスチャノードを選んだ状態にしておく。
 - ベイクはCyclesを使ってする。プロパティウィンドウでCyclesにしておいて、そこの下にあるBakeボタンを押す