G43L
Joined: 07 Nov 2009 Posts: 12
|
Posted: Fri Jun 25, 2010 2:30 pm Post subject: Triangle missing... [SOLVED] |
|
|
Hello forum,
I use the code below to draw a cube. When I draw 3 or more cubes, the last triangle is missing from cube 3 to the last one :/
Also, I would like to know when I have to call sceKernelDcacheWritebackAll() exactly? Is it needed for 2D?
Code: |
/** Description of a vertex */
struct Vertex
{
//f32 u, v; // texture coords
Color color; // 32-bit color
f32 nx, ny, nz; // normal
f32 x, y, z; // vertex
};
void Core::box(f32 width, f32 height, f32 depth, Color color) const
{
const u32 n = 12 * 3;
f32 hw = width * 0.5f;
f32 hh = height * 0.5f;
f32 hd = depth * 0.5f;
Vertex __attribute__((aligned(16))) vertices[n] =
{
// Front
{ color, 0.0f, 0.0f, 1.0f, -hw, hh, hd },
{ color, 0.0f, 0.0f, 1.0f, hw, hh, hd },
{ color, 0.0f, 0.0f, 1.0f, -hw, -hh, hd },
{ color, 0.0f, 0.0f, 1.0f, hw, -hh, hd },
{ color, 0.0f, 0.0f, 1.0f, -hw, -hh, hd },
{ color, 0.0f, 0.0f, 1.0f, hw, hh, hd },
// Back
{ color, 0.0f, 0.0f, -1.0f, hw, hh, -hd },
{ color, 0.0f, 0.0f, -1.0f, -hw, hh, -hd },
{ color, 0.0f, 0.0f, -1.0f, hw, -hh, -hd },
{ color, 0.0f, 0.0f, -1.0f, -hw, -hh, -hd },
{ color, 0.0f, 0.0f, -1.0f, hw, -hh, -hd },
{ color, 0.0f, 0.0f, -1.0f, -hw, hh, -hd },
// Left
{ color, -1.0f, 0.0f, 0.0f, -hw, hh, -hd },
{ color, -1.0f, 0.0f, 0.0f, -hw, hh, hd },
{ color, -1.0f, 0.0f, 0.0f, -hw, -hh, -hd },
{ color, -1.0f, 0.0f, 0.0f, -hw, -hh, -hd },
{ color, -1.0f, 0.0f, 0.0f, -hw, hh, hd },
{ color, -1.0f, 0.0f, 0.0f, -hw, -hh, hd },
// Right
{ color, 1.0f, 0.0f, 0.0f, hw, hh, hd },
{ color, 1.0f, 0.0f, 0.0f, hw, hh, -hd },
{ color, 1.0f, 0.0f, 0.0f, hw, -hh, hd },
{ color, 1.0f, 0.0f, 0.0f, hw, hh, -hd },
{ color, 1.0f, 0.0f, 0.0f, hw, -hh, -hd },
{ color, 1.0f, 0.0f, 0.0f, hw, -hh, hd },
// Top
{ color, 0.0f, 1.0f, 0.0f, -hw, hh, -hd },
{ color, 0.0f, 1.0f, 0.0f, hw, hh, -hd },
{ color, 0.0f, 1.0f, 0.0f, -hw, hh, hd },
{ color, 0.0f, 1.0f, 0.0f, hw, hh, hd },
{ color, 0.0f, 1.0f, 0.0f, -hw, hh, hd },
{ color, 0.0f, 1.0f, 0.0f, hw, hh, -hd },
// Bottom
{ color, 0.0f, -1.0f, 0.0f, -hw, -hh, hd },
{ color, 0.0f, -1.0f, 0.0f, hw, -hh, hd },
{ color, 0.0f, -1.0f, 0.0f, -hw, -hh, -hd },
{ color, 0.0f, -1.0f, 0.0f, -hw, -hh, -hd },
{ color, 0.0f, -1.0f, 0.0f, hw, -hh, hd },
{ color, 0.0f, -1.0f, 0.0f, hw, -hh, -hd }
};
sceKernelDcacheWritebackAll();
sceGumDrawArray
(
GU_TRIANGLES,
GU_COLOR_8888 | GU_NORMAL_32BITF | GU_VERTEX_32BITF | GU_TRANSFORM_3D,
n,
0,
vertices
);
}
|
Thanks in advance for any response,
G43L
Last edited by G43L on Sat Jun 26, 2010 1:05 pm; edited 1 time in total |
|