const u32 resolution = 16; | |
const f32 r = 0.5; | |
scene::IMeshBuffer *buf = new scene::SMeshBuffer(); | |
video::SColor c(255,255,255,255); | |
// Front and back | |
{ | |
video::S3DVertex vertices[8] = { | |
// z- | |
video::S3DVertex(-r,+r,-r, 0,0,-1, c, 0,0), | |
video::S3DVertex(+r,+r,-r, 0,0,-1, c, 1,0), | |
video::S3DVertex(+r,-r,-r, 0,0,-1, c, 1,1), | |
video::S3DVertex(-r,-r,-r, 0,0,-1, c, 0,1), | |
// z+ | |
video::S3DVertex(-r,+r,+r, 0,0,+1, c, 0,0), | |
video::S3DVertex(-r,-r,+r, 0,0,+1, c, 0,1), | |
video::S3DVertex(+r,-r,+r, 0,0,+1, c, 1,1), | |
video::S3DVertex(+r,+r,+r, 0,0,+1, c, 1,0), | |
}; | |
u16 indices[12] = {0,1,2,2,3,0,4,5,6,6,7,4}; | |
buf->append(vertices, 8, indices, 12); | |
} | |
const f32 pixelsize = 1 / (f32) resolution; | |
for (u32 i = 0; i < resolution; ++i) { | |
f32 pixelpos = i * pixelsize - 0.5; | |
f32 x0 = pixelpos; | |
f32 x1 = pixelpos + pixelsize; | |
f32 y0 = -pixelpos - pixelsize; | |
f32 y1 = -pixelpos; | |
f32 tex0 = (i + 0.1) * pixelsize; | |
f32 tex1 = (i + 0.9) * pixelsize; | |
video::S3DVertex vertices[16] = { | |
// x- | |
video::S3DVertex(x0,-r,-r, -1,0,0, c, tex0,1), | |
video::S3DVertex(x0,-r,+r, -1,0,0, c, tex1,1), | |
video::S3DVertex(x0,+r,+r, -1,0,0, c, tex1,0), | |
video::S3DVertex(x0,+r,-r, -1,0,0, c, tex0,0), | |
// x+ | |
video::S3DVertex(x1,-r,-r, +1,0,0, c, tex0,1), | |
video::S3DVertex(x1,+r,-r, +1,0,0, c, tex0,0), | |
video::S3DVertex(x1,+r,+r, +1,0,0, c, tex1,0), | |
video::S3DVertex(x1,-r,+r, +1,0,0, c, tex1,1), | |
// y- | |
video::S3DVertex(-r,y0,-r, 0,-1,0, c, 0,tex0), | |
video::S3DVertex(+r,y0,-r, 0,-1,0, c, 1,tex0), | |
video::S3DVertex(+r,y0,+r, 0,-1,0, c, 1,tex1), | |
video::S3DVertex(-r,y0,+r, 0,-1,0, c, 0,tex1), | |
// y+ | |
video::S3DVertex(-r,y1,-r, 0,+1,0, c, 0,tex0), | |
video::S3DVertex(-r,y1,+r, 0,+1,0, c, 0,tex1), | |
video::S3DVertex(+r,y1,+r, 0,+1,0, c, 1,tex1), | |
video::S3DVertex(+r,y1,-r, 0,+1,0, c, 1,tex0), | |
}; | |
u16 indices[24] = {0,1,2,2,3,0,4,5,6,6,7,4, | |
8,9,10,10,11,8,12,13,14,14,15,12}; | |
buf->append(vertices, 16, indices, 24); | |
} | |
//... |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment