blenderでHDRの背景をレンダリングBlenderでhdrファイルを読み込んでEnvironmentに指定して背景を描画します。Alphaをチェックレンダリング時の注意として、pngで出力する場合、そのままだと(なぜか)背景が描画されません。jpegなどならちゃんと出力されます。Alphaをチェックします。Libraryでスムージングするには、VertexCoordPasoDoble関数を使います。公式のサンプルにあるようにvcg::tri::Clean<MyMesh>::RemoveDuplicateVertex(mesh);vcg::tri::Clean<MyMesh>::RemoveUnreferencedVertex(mesh);vcg::tri::UpdateTopology<MyMesh>::VertexFace(mesh);が必要です。0;}localeを入れた場合の結果localeを入れなかった場合の結果なぜUnicodeなのにsetlocaleしなければ文字が出力出来ないか。それは、コマンドプロンプトがShift-JISしか表示出来ないため、wcoutはShift-JISで文字列を出力せねばならず、wcout自身は自分がどんな環境で動いているか関知していないので、localeでShift-JIS環境だと教えてあげる必要があるという理屈からだ。自分が作ったアプリケーション内で、どのように文字列を処理しようがそれは作った者の自由だ。別にshift-jisやunicodeである必要はない。必要があれば自分定義した文字コードで書いたっていい(もの凄い労力だろうが)。それを出力するなら、出力先の仕様に合わせる必要がある。出力先がどんな文字コードに対応しているかを教えるのがlocaleの役目となる。0;}ファイル出力に関しても同様で、Lをつけてワイド文字指定しても、wofstreamが自動的にShift-JISへ変換して出力する。VC++の文字コード-wchar_tとかcharとかLとかLなしとかその他LつきとLなしの違い“hello”とやったときと、L“hello”では、どう違うのかという話です。このようなプログラムを書きます。0;}このように、sの指す文字列の中身は、LがついているときはUTF16、ついていないときはShiftJISになります。次に、プロジェクト設定の「文字コード」を、マルチバイト文字セットとUnicode文字セットでそれぞれ保存してみます。この場合も、当然ですが、””とL””の結果も変わりません。上記したプログラムの挙動は、「文字セット」に関わらず同じです。つぎに、プログラムの先頭にコメントで何らかの日本語を書いてみます。結果はこのように、どちらの設定でもUTF16になります。文字セットの設定はソースファイルの文字コードに影響を与えません。ちなみにソースコードの文字コードを変えるにはVisualStudioで文字コードを変更する等の方法があるようです。Studioの何に影響を与えるのでしょうか。「文字セット」の指定は_UNICODEマクロが定義されるかどうかの指定という意味です。ターゲットの周辺のオブジェクトを取得ターゲットの頂点の周囲の面にアクセスする。}}これを応用して、ある頂点の周囲のエッジを選択する。WM_SIZINGWin32APIのWM_SIZEメッセージとWM_SIZINGメッセージ。WM_SIZINGはサイズ変更中に、WM_SIZEはサイズ変更後に送られます・・・。いうものの、発行されるタイミングより遙かに大きな違いがあります。Libraryでポリゴンファイルを保存する方法。Libraryで色のついたポリゴンの読み込み・表示VCGで色のついたポリゴンを表示する方法。今回はplyファイルを使用。面に色情報を持つplyファイル面に色情報を持つplyファイル頂点に色情報を持つplyファイル※あと書くのも恥ずかしいけれど上記3ファイルはパブリックドメイン扱いとします。面に色情報を持つデータを使用する場合、MyFaceで色情報を持つことを定義する。それぞれR,G,Bが入っている。char型で入っている。従ってOpenGLのglColor3ubを使用する。頂点に色情報がある場合、MyVertexにColor4bを指定する。色情報はvertexの中に入っています。それ以外は面の時と同じです。Libraryでは、FaceがVertexのIteratorを持っていて、FaceからVertexを参照できる。他の参照が必要な場合、vcg::tri::UpdateTopologyでFace-Edge間のリンクなどを計算できるのだが、例外が出たり、それっぽい変数に何も入っていないなどの現象に遭遇することがある。calledと言って落ちる。リンク情報が作成されていない。vcg::Edge<>と、既存の型を継承したデータ型を使う。この時、vcg::Vertex、vcg::Face,vcg::Edgeに各データ型を関連付ける適切な型をテンプレートで与える必要がある。>::FaceFaceを使いたい場合、MyFace定義時に、vcg::face::FFAdjを指定する。テンプレート引数の順序は気にしなくて良い。>::AllocateEdge(mesh);を実行する。>::FaceFace(mesh);を実行する。FaceFaceを実行するためにはMyFaceにvcg::face::FFAdjを指定しなければならないので追加する。するとcFEpでabortするので、MyFaceにvcg::face::FEAdjを指定する。ここまでで、cFEpを使うコードは、以下のようになる。※ただし、cFEpに必要な物以外を外してある。