問題タブ [povray]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
3d - JVM のメモリ内で写真のようにリアルな 3D シーンをレンダリングするにはどうすればよいですか?
ここに私の問題空間があります:
JVM (Clojure を使用) で 3D シーンを JPG/PNG 画像にレンダリングします。
- レンダリングは高品質で、できればフォトリアリスティックである必要があります
- レンダラーは、起動が非常に高速なメモリ内ライブラリまたはシェルベースの呼び出しである必要があります (呼び出しごとにこの一定の起動時間に対して料金が発生するため)。
- ラスターまたはベクター グラフィックスを 2D テクスチャ マップとしてサポートする必要がある
- 高速である必要があります。明らかに、レンダリングの品質はかなり主観的なものですが、フォトリアリスティックな画像をできるだけ早く取得できるソリューションを見つけようとしています.
- 理想的には CPU ベースだが GPU ベースのレンダラーも問題外ではない
私たちが試したこと:
- Clojure Web サービスを介して AWS EC2 c4.2xlarge ボックスでレンダリングするたびにPOV-Ray CLI を呼び出す
- 私たちの 3D モデルは、
mesh2
Wavefront OBJ から変換された povray 構文です。 - かなり保守的な設定で、レンダリングにラジオシティを使用しています。エリア ライトを使用した従来のシーン ライティングは遅すぎて、思いどおりのシャドウを作成できませんでした (これについては、確かにまったく初めてです)。
JMonkeyEngine と screenshots-as-renders も試しましたが、十分な品質ではありませんでした。Cyclesに目を向けることを検討しています。全体として、私はハイエンド レンダリング (ゲーム) エンジンが適用可能かどうかを判断するのに十分な知識がなく、調査を通じてこの情報を収集することはまだできていません。
1 ~ 2 秒のレンダリングを生成したいと考えています。
rotation - POV-Rayでベクトルを中心にオブジェクトを回転させる方法は?
POV-Ray でオブジェクトをある点から別の点に移動させる回転を見つけるのは驚くほど難しいと思います。
幾何学的に見つけるのは簡単です。Dist
原点からターゲット ポイントPointT
(緑) までの距離を計算し、(青) で作成Point0
します<Dist, 0, 0>
。Point0
次に、それらの間の角度とPointT
それらへの垂線を計算します。AngleD
周りの回転は=にPerp
移動Point0
します。Point1
PointT
POV-Ray ではvaxis_rotate
、 を計算するために使用できますPoint1
。しかし、実際にオブジェクトを回転させたいのですが (もちろん、これは球体ではありません)、これを行う明確な方法がわかりません。を試してみrotate -AngleD*Perp
ましたが、少し異なる結果 (赤) が得られます。
オブジェクトに対してどのようにすればよいvaxis_rotate
ですか?