Sketch Up の技術

リアルタイムで影が表示されるけど、この影はステンシルシャドウなのかな。
画面の描画はソフトウエアで行ってるのかと思ってたけど、OpenGL使ってるらしい。
SketchUpが起動しない場合 (PC)。 - SketchUp ヘルプ


面の穴を開けるのもサクサクできるし、
他の会社には簡単に真似はできない高い技術を使ってるんでしょうね。
Googleが買収するだけのことはある。

MacBookでBlenderが遅い現象

http://blender.jp/modules/newbb/viewtopic.php?topic_id=1067&forum=1&post_id=5585#forumpost5585
↑ここに、OpenGL profilerによるpixel formatの最適化すれば良いと書いてある。
実際に、OpenGL profilerから、pixel formatを変更して起動すると速くなった。
でも、普通に起動すると遅い。
毎回OpenGL profilerからblenderを起動しないと速くならないのかな。

Sunflow のソース解析

レンダリングイメージの表示と保存方法について見てみた。


org.sunflow.system.ImagePanelがそのクラスだ。
これは、
javax.swing.JPanelを継承していて、
java.awt.image.BufferedImageをメンバに持っている。ここにピクセル値を保存してる。
JPanelへの描画は、paintComponent()メソッドで行っている。
その中では、drawImage()で、BufferedImageを描画しているだけ。


画像ファイルへのセーブは、javax.imageio.ImageIOのwrite()でBufferedImageをファイルにセーブできる。

魚眼レンズ

3DCGで魚眼レンズってどうやって実装するんだろう。
レイトレならなんとかできそうだけど、Zバッファやスキャンラインは無理なのでは?
なぜなら、三角形のエッジが歪んで描画されるから。

OpenGLのgl*EXT()とgl*ARB()の違い

http://www.opengl.org/resources/features/OGLextensions/
↑によると。
ARB - Extensions officially approved by the OpenGL Architecture Review Board
EXT - Extensions agreed upon by multiple OpenGL vendors
らしい。
ARBの方が、より一般性が高いのか?
利用者は、両者の違いはあんまり考えなくていいのかいな。


↓日本語でのExtensionの説明
http://www.hanecci.com/pukiwiki/index.php?Programming%2FOpenGL%2FBasic#hd6fe64e


↓Extensionを扱うライブラリにはGLeeとGLEWがあるが、どっちを使ったらええのだろう?
http://www.opengl.org/sdk/libs/
http://www.opengl.org/sdk/libs/GLee/
http://www.opengl.org/sdk/libs/GLEW/

O3D公開

Google、Web向け3DグラフィックAPI「O3D」と対応プラグイン公開 | エンタープライズ | マイコミジャーナル
3D に向けたオープン Web 標準 −O3D の紹介
O3D API - Google Code


シェーダーも書けるようだ。
Intel GMA X3100搭載のMacBookでも一応動いたが、benchimarkは固まってしまった。


データは現在はCOLLADAからコンバートするらしいが、Max, Maya, SketchUpCOLLADAだけ対応なのか。
他のツールからエクスポートしたファイルはコンバートできるのか。


flashのようなオーサリングツールがでてくるのかな。
SketchUpがそれになっていくのか。

Macbook+GMA950+Leopard で Blender

Mac OS X 10.5.6 fixes OpenGL problems? at BlenderNation
Blender.jp - ニュース
直って速くなってるのかな?


直ってない。残念。Macはダメだ。
Macは3Dには、向いてない。
3Dやるなら、Windowsの方がいい。Mac使っていてそう思った。
Appleは3Dやる気ないな。