本文整理汇总了C++中Face::AddChannel方法的典型用法代码示例。如果您正苦于以下问题:C++ Face::AddChannel方法的具体用法?C++ Face::AddChannel怎么用?C++ Face::AddChannel使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Face
的用法示例。
在下文中一共展示了Face::AddChannel方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1:
void CLightmap::Capture (CDeflector *D, int b_u, int b_v, int s_u, int s_v, BOOL bRotated)
{
// Allocate 512x512 texture if needed
if (lm.surface.empty()) lm.create(c_LMAP_size,c_LMAP_size);
// Addressing
xr_vector<UVtri> tris;
D->RemapUV (tris,b_u+BORDER,b_v+BORDER,s_u-2*BORDER,s_v-2*BORDER,c_LMAP_size,c_LMAP_size,bRotated);
// Capture faces and setup their coords
for (UVIt T=tris.begin(); T!=tris.end(); T++)
{
UVtri& P = *T;
Face *F = P.owner;
F->lmap_layer = this;
F->AddChannel (P.uv[0], P.uv[1], P.uv[2]);
}
// Perform BLIT
lm_layer& L = D->layer;
if (!bRotated)
{
u32 real_H = (L.height + 2*BORDER);
u32 real_W = (L.width + 2*BORDER);
blit (lm,c_LMAP_size,c_LMAP_size,L,real_W,real_H,b_u,b_v,254-BORDER);
} else {
u32 real_H = (L.height + 2*BORDER);
u32 real_W = (L.width + 2*BORDER);
blit_r (lm,c_LMAP_size,c_LMAP_size,L,real_W,real_H,b_u,b_v,254-BORDER);
}
}