絞り込み条件を変更する
検索条件を絞り込む
有料ブログの投稿方法はこちら

すべてのカテゴリ

2 件中 1 - 2 件表示
カバー画像

続3DCGの理屈(cとWINAPIで書きます)のその2

006:OBJファイル読み込み複数の行の文字列で表現されるOBJフォーマットですが、その1つの行の先頭文字がvの場合、3次元座標を表します。先頭文字がfの場合、頂点番号を表すので全体としてそれぞれの1つ1つのポリゴン単体の情報として表します。つまり、例をあげるとv 0.005 0.25 0.125v 0.5 0.21 0.05v 0.025 0.1123 0.5v 0.05 0.113 0.125f 0,1,2,3これで全体から見て1つ当たりの四角ポリゴンの内容です。ちなみに、自分はShadeを使うこともあるので、Shadeで円を描画して、閉じた線形状に変換して中央のY軸で回転させてドーナツの形にしたら、四角ポリゴンとしてOBJ形式でエクスポートしました。なので、blenderがエクスポートするOBJ形式を読み込むためにはどういう風に対応すれば良いかは分かりません。#include <windows.h> #include <stdio.h> #include <stdlib.h> #include <math.h> #define WIDTH 320 #define HEIGHT 240 int min_[HEIGHT]; int max_[HEIGHT]; #define SCREENHEIGHT HEIGHT #define SCALE 240.0f int MAXVTX=0;//最大の頂点数 int MAXPOL=0;//最大のポリゴン数 int LastLine=0; BITMAPINFO biInfo; LPDWORD
0
カバー画像

3DCGの理屈について(cとWINAPIで書きます)

3DCGというと、ポリゴンというイメージが強いですが、レイトレーシングというかなりリアルに見える3DCG技術も近年発達しています。バイオハザードのRE2とかのリメイクなんかはひょっとするとレイトレーシングを使ってたりするのではないかと思ってますが、ユーチューブでゲーム実況動画を観たらあまりにも内蔵やらなにやらがグロいゾンビの死体の一部だったので気持ち悪くなるほどでした。さて、ここでは、点、ワイヤーフレーム、フラットシェーディング、グーローシェーディング、フォンシェーディングについて書きます。しかし、最近の言語で高速に点描画が出来るプラットフォームを知らないのとc+winapiの組み合わせがやはりスクリプト言語より速い(気がする)します。なので、とりあえずcで組んでみます。実はc以降に作られた言語には色々とc言語と似通った部分があるのでcを覚えるのは役に立つのではないでしょうか?コンパイルの仕方(cをexeに変換するやり方)はVisualC++ExpressEditionでも可能です。ソースをmain.cppにして、Ctrl+F5でコンパイルできます。文字セットをユニコードではなく、マルチバイトにしておきます。001:点を打つプログラムはだんちょう、じゃなくて冗長ですが、cとしては短い方だと思います。#include <windows.h> #include <stdio.h> #include <stdlib.h> #include <math.h> #define WIDTH 320 #define HEIGHT 240
0
2 件中 1 - 2
有料ブログの投稿方法はこちら