4次元レンダリング
広義シェーダーとしてこういうものを考えられそうblu3mo.icon
Lorentz - Special Relativity in VRがきっかけ
t, x, y, zの時間を含む4元ベクトルを元にレンダリングをする
普通のvertex shaderはどういう仕組み?
(x,y,z)を与えられて、(x', y', z')を返す
tは一定
4元ベクトル
(t,x,y,z) → (tau, x', y', z)
for all x,y,z, x' y' z' exist
only one t exist for all tau
tauが現実の時間だとしたら、常に「あるtauを持つ四元ベクトル」が欲しい
そうなると、(τ, x, y, z)を与えられて、(
https://kakeru.app/a26ed38c1abf08768c9aa496c7fd837d https://i.kakeru.app/a26ed38c1abf08768c9aa496c7fd837d.svg
これ、どちらかというと問題なのはレンダリングの部分だな
四次元のデータをどこかで持ってレンダリングする必要がある
それをどう持つか・どう編集するか・どうレンダリングするかが大事
例えばdelta tの細かさで全部の時間のデータを持つとデータが多すぎる?
x,y,zに関しては、もっと荒くポリゴンとかでやってる
同じ事をtでもやるべきか
4Dポリゴンみたいな概念か、おもろい
既存の例
全部x,y,z,w
not x,y,z,t
でもやる事は一緒なはず
4-polytope - Wikipedia
GitHub - mwalczyk/four: 💎 A 4-dimensional renderer.
これは結構シンプルな実装かな
Marc Ten Bosch
Miegakure Hide and Reveal : A 4D puzzle-platforming game.
N-dimensional rigid body dynamics | ACM Transactions on Graphics
no discussion about rendering...
https://www.vice.com/en/article/9kmknd/what-happened-to-miegakure-the-game-that-promised-the-4th-dimension
A look at the Technology behind the 4D Game Miegakure « mtbdesignworks Blog Miegakure, 4D Toys, Marc ten Bosch
Instead of triangulation, using tetrahedron
https://replit.com/talk/share/FOUR-DIMENSIONAL-rendering-engine-in-WebGL/139089
これはraymarchingで4D renderingをやってる
計算量的に仕方なくpixelatedになってる、やっぱそうなるわな
めっちゃおもろい
https://docs.lib.purdue.edu/cgi/viewcontent.cgi?article=1921&context=cstech
なんかめっちゃ語ってるので後で目を通す
Generating and Rendering Four-Dimensional Polytopes
http://honors.cs.umd.edu/reports/AMartynov/4D_RayTracer.htm
お、sphere space?
例のあれと同じ感じかな
Engine 4 | Modeling | Unity Asset Store
更新終わってる
GitHub - Jellevermandere/4D-Raymarching: a Unity framework to create spacial 4 dimentional games, using raymarching
raymarching自前実装
物体たくさんおくとfps落ちるので、low-resにしている、、、
4D Golf Tech Details
4Dのtetrahedral、理解
sliceするとtriangle(に限らないけど面)が得られるのか
4つの(x,y,z,t)で一つのtetrahedralが得られる
4D tetrahedralをtでsliceして3D triangleを得る必要がある
そうか、物理も4 vecで再実装しないといけないのか
相対論以前の問題として、rigidbodyが使えないので古典力学も自力実装しないと
おもろ
4D Minecraft
選択肢
1. 4D Raymarching
https://replit.com/talk/share/FOUR-DIMENSIONAL-rendering-engine-in-WebGL/139089
https://github.com/Jellevermandere/4D-Raymarching
all pixelated, パフォーマンスの限界
2. 4D -> 3Dを変換してから普通にレンダリング
3D -> 2Dと違って、一つのsliceしかいらない
ので全部でray-marchingするのは計算が無駄
convert 4d polygon to 3D polygon
Open Sourceなコードは見つからず
4D Physics
t=1のところで何かを変更したら、その後を全てcomputeする必要がある
無理では
some simplified physics?
というかここでもっと面白いことができそうblu3mo.icon
因果関係が大事な点
時間方向以外の因果関係を許すと、レンダリングが大変すぎる