コード例 #1
0
static void sphereTraverseTetra(std::vector<Vec3f> &verts, int depth)
{
	float t = sqrtf(0.5f);

	Vec3f vBL(-1.0f,  0.0f, -t);
	Vec3f vBR( 1.0f,  0.0f, -t);
	Vec3f vFD( 0.0f, -1.0f,  t);
	Vec3f vFU( 0.0f,  1.0f,  t);

	triTraverse(verts, vBL, vFD, vFU, depth, false);
	triTraverse(verts, vFD, vBR, vFU, depth, false);
	triTraverse(verts, vBR, vBL, vFU, depth, false);
	triTraverse(verts, vBL, vBR, vFD, depth, false);

	spherize(verts);
}
コード例 #2
0
ファイル: VisualComponent.cpp プロジェクト: beamery/Quad-Pong
void VisualComponent::postInit()
{
	Vec2D<double> vTL(-width / 2.0f, -height / 2.0f);
	Vec2D<double> vBL(-width / 2.0f, height / 2.0f);
	Vec2D<double> vBR(width / 2.0f, height / 2.0f);
	Vec2D<double> vTR(width / 2.0f, -height / 2.0f);
	Vec2D<double> texTL(0, 0);
	Vec2D<double> texBL(0, 1);
	Vec2D<double> texTR(1, 0);
	Vec2D<double> texBR(1, 1);

	// TL, BL, TR, BR
	vertexData.push_back(vTL);
	vertexData.push_back(vBL);
	vertexData.push_back(vTR);
	vertexData.push_back(vBR);
	textureData.push_back(texTL);
	textureData.push_back(texBL);
	textureData.push_back(texTR);
	textureData.push_back(texBR);
}
コード例 #3
0
static void sphereTraverseOcta(std::vector<Vec3f> &verts, int depth)
{
	float t = sqrtf(0.5f);

	Vec3f vDn(0.0f, -1.0f, 0.0f);
	Vec3f vBL(-t, 0.0f, -t);
	Vec3f vFL(-t, 0.0f,  t);
	Vec3f vFR( t, 0.0f,  t);
	Vec3f vBR( t, 0.0f, -t);
	Vec3f vUp(0.0f, 1.0f, 0.0f);

	triTraverse(verts, vBL, vBR, vDn, depth, false);
	triTraverse(verts, vBR, vFR, vDn, depth, false);
	triTraverse(verts, vFR, vFL, vDn, depth, false);
	triTraverse(verts, vFL, vBL, vDn, depth, false);
	triTraverse(verts, vBL, vFL, vUp, depth, false);
	triTraverse(verts, vFL, vFR, vUp, depth, false);
	triTraverse(verts, vFR, vBR, vUp, depth, false);
	triTraverse(verts, vBR, vBL, vUp, depth, false);

	spherize(verts);
}