現在地: メニュー >> 発展編01 >> 発展編01::テクスチャ座標の生成 >> 発展編01::ObjectLinearMapping

ObjectLinearMapping


テクスチャ座標の自動生成を「GL_OBJECT_LINEAR」と指定した場合、
以下の式でS,T,R,Qの各テクスチャ座標を計算する。
テクスチャ座標 = a*X + b*Y + c*Z + d*W
ここで、
  • X,Y,Z,W → オブジェクト座標系
  • a,b,c,d → 平面の方程式 ax + by + cz + d = 0 の各係数

[例]

	GLfloat xPlane[] = { 1.0f, 0.0f, 0.0f, 0.0f }; //x = 0
	GLfloat yPlane[] = { 0.0f, 1.0f, 0.0f, 0.0f }; //y = 0

	glTexGeni(GL_S, GL_TEXTURE_GEN_MODE, GL_OBJECT_LINEAR);
	glTexGeni(GL_T, GL_TEXTURE_GEN_MODE, GL_OBJECT_LINEAR);
	glTexGenfv(GL_S, GL_OBJECT_PLANE, xPlane);
	glTexGenfv(GL_T, GL_OBJECT_PLANE, yPlane);

▲この場合、
  • S = X;
  • T = Y;
とそのまま対応する。

つまり、
	glEnable(GL_TEXTURE_2D);
	glEnable(GL_TEXTURE_GEN_S);
	glEnable(GL_TEXTURE_GEN_T);
	... ...
	glRectf(0,0,1,1);
	... ...
	glDisable(GL_TEXTURE_GEN_T);
	glDisable(GL_TEXTURE_GEN_S);
	glDisable(GL_TEXTURE_2D);
とした場合、四角いポリゴンに2次元画像がぴったりはまる事になる。



サンプルコード >> 発展編01::まとめコード4_1

目次

― その他 ―

Wiki内検索

計測中...(07.10.8〜)

Save The World






▲よろしければ広告のクリックもお願いします


▲ランキングに参加しました

管理人/副管理人のみ編集できます