mirror of
https://github.com/GRRLIB/GRRLIB.git
synced 2024-10-30 05:22:20 +00:00
60 lines
1.7 KiB
C
60 lines
1.7 KiB
C
|
/*===========================================
|
||
|
NoNameNo Compositing Sample Code
|
||
|
============================================*/
|
||
|
#include <grrlib.h>
|
||
|
|
||
|
#include <stdlib.h>
|
||
|
#include <ogc/pad.h>
|
||
|
|
||
|
#include "font3d_png.h"
|
||
|
|
||
|
|
||
|
int main() {
|
||
|
float rot=0;
|
||
|
float i;
|
||
|
int circsize=150;
|
||
|
const char text[]="GRRLIB ROXX ";
|
||
|
|
||
|
GRRLIB_Init();
|
||
|
PAD_Init();
|
||
|
|
||
|
|
||
|
GRRLIB_texImg *tex_font = GRRLIB_LoadTexture(font3d_png);
|
||
|
GRRLIB_InitTileSet(tex_font, 64, 64, 32);
|
||
|
GRRLIB_SetHandle(tex_font, tex_font->tilew/2, tex_font->tileh+circsize);
|
||
|
|
||
|
GRRLIB_texImg *tex_screen = GRRLIB_CreateEmptyTexture(rmode->fbWidth,rmode->efbHeight);
|
||
|
|
||
|
GRRLIB_Settings.antialias = true;
|
||
|
|
||
|
while(1) {
|
||
|
PAD_ScanPads();
|
||
|
if(PAD_ButtonsDown(0) & PAD_BUTTON_START) exit(0);
|
||
|
|
||
|
// we say that we will want to capture to a texture all the following
|
||
|
GRRLIB_CompoStart();
|
||
|
|
||
|
for(i=0; i<360; i+=30) {
|
||
|
// We draw some letters
|
||
|
GRRLIB_DrawTile((rmode->fbWidth/2)-(tex_font->tilew/2), (rmode->efbHeight/2)-(tex_font->tileh+circsize), tex_font, rot+i, 1, 1, 0xFFFFFFFF, text[(int)(i/30)]-32);
|
||
|
}
|
||
|
|
||
|
// we say we want to capture now, (the buffer will be cleared after the capture)
|
||
|
GRRLIB_CompoEnd(0, 0, tex_screen);
|
||
|
|
||
|
rot-=0.6;
|
||
|
|
||
|
// we now draw 3 times the captured buffer playing with color
|
||
|
GRRLIB_DrawImg(0, 0, tex_screen, 0, 1, 1, 0xFF00FFFF);
|
||
|
GRRLIB_DrawImg(50, 50, tex_screen, 0, 1, 1, 0xFFFF00FF);
|
||
|
GRRLIB_DrawImg(100, 100, tex_screen, 0, 1, 1, 0xFFFFFFFF);
|
||
|
|
||
|
GRRLIB_Render();
|
||
|
}
|
||
|
|
||
|
GRRLIB_FreeTexture(tex_screen);
|
||
|
GRRLIB_FreeTexture(tex_font);
|
||
|
GRRLIB_Exit(); // Be a good boy, clear the memory allocated by GRRLIB
|
||
|
exit(0);
|
||
|
}
|