void makeScene(IVideoDriver *driver)
{
int i;
matrix4 rot,pos,world;
SColor col;
S3DVertex ver[4];
u16 list[] = {0,1,2, 2,1,3};
ITexture* Texture = driver->getTexture("star.bmp");
SMaterial Material;
Material.Lighting = false;
Material.MaterialType = EMT_TRANSPARENT_ADD_COLOR;
Material.TextureLayer[0].Texture = Texture;
driver->setMaterial(Material);
|
for(i=0;i<num;i++)
{
col = SColor(0xFF, star[i].r,star[i].g,star[i].b);
ver[0] = S3DVertex(-1, 1,0, 0,0,0, col, 0,0);//左上
ver[1] = S3DVertex( 1, 1,0, 0,0,0, col, 1,0);//右上
ver[2] = S3DVertex(-1,-1,0, 0,0,0, col, 0,1);//左下
ver[3] = S3DVertex( 1,-1,0, 0,0,0, col, 1,1);//右下
star[i].angle += float(i)/(num*100);
pos.setTranslation(vector3df(star[i].dist,0,0)); //移動
rot.setRotationRadians(vector3df(0,0,star[i].angle)); //回転
world = rot*pos*rot;
driver->setTransform(ETS_WORLD, world);//ワールドに反映
driver->drawIndexedTriangleList(&ver[0], 4, &list[0], 2);
}
}
|