|
|
@ -20,9 +20,51 @@ struct Vertex { |
|
|
|
Rgba color; |
|
|
|
}; |
|
|
|
|
|
|
|
/**
|
|
|
|
* |
|
|
|
*/ |
|
|
|
void example3() { |
|
|
|
Vertex vertexs[] = { |
|
|
|
{-10, -10, 0.0f, 0.0f, Rgba(255, 0, 0, 255)}, |
|
|
|
{210, 210, 1.0f, 1.0f, Rgba(255, 0, 0, 255)}, |
|
|
|
{210, -10, 1.0f, 0.0f, Rgba(255, 0, 0, 255)}, |
|
|
|
|
|
|
|
{-10, -10, 0.0f, 0.0f, Rgba(255, 255, 255, 255)}, |
|
|
|
{210, 210, 1.0f, 1.0f, Rgba(255, 255, 255, 255)}, |
|
|
|
{-10, 210, 0.0f, 1.0f, Rgba(255, 255, 255, 255)}, |
|
|
|
}; |
|
|
|
|
|
|
|
matrix3 tranMat1; |
|
|
|
tranMat1.translate(-110, -110); |
|
|
|
|
|
|
|
matrix3 mat; |
|
|
|
static float angle = 0; |
|
|
|
mat.rotate(angle); |
|
|
|
angle += 0.5; |
|
|
|
|
|
|
|
matrix3 scaleMat; |
|
|
|
scaleMat.scale(0.5f, 0.5f); |
|
|
|
|
|
|
|
matrix3 tranMat2; |
|
|
|
tranMat2.translate(110, 110); |
|
|
|
|
|
|
|
|
|
|
|
matrix3 all = tranMat2 * (mat * scaleMat * tranMat1); |
|
|
|
|
|
|
|
raster.loadMatrix(all); |
|
|
|
|
|
|
|
//raster.loadIdentity();
|
|
|
|
|
|
|
|
Image* image = Image::loadFromFile("/home/blobt/Documents/dev/cpp/3dbase/image/scale.jpg"); |
|
|
|
|
|
|
|
|
|
|
|
raster.bindTexture(image); |
|
|
|
|
|
|
|
raster.vertexPointer(2, DT_FLOAT, sizeof (Vertex), &vertexs[0].x); |
|
|
|
raster.colorPointer(4, DT_BYTE, sizeof (Vertex), &vertexs[0].color); |
|
|
|
raster.textureCoordPointer(2, DT_FLOAT, sizeof (Vertex), &vertexs[0].u); |
|
|
|
|
|
|
|
|
|
|
|
raster.drawArrays(DM_TRIANGES, 0, 6); |
|
|
|
} |
|
|
|
|
|
|
|
void example2() { |
|
|
|
Vertex vertexs[] = { |
|
|
|
{-10, -10, 0.0f, 0.0f, Rgba(255, 0, 0, 255)}, |
|
|
@ -87,7 +129,7 @@ void example1() { |
|
|
|
unsigned char* makeBitmap() { |
|
|
|
raster.clean(); |
|
|
|
|
|
|
|
example2(); |
|
|
|
example3(); |
|
|
|
|
|
|
|
return (unsigned char*) raster.buffer; |
|
|
|
} |
|
|
|