From dd1e9ef7dd0d490f9397d524e1cfde13d6314623 Mon Sep 17 00:00:00 2001 From: pixel Date: Mon, 9 Dec 2002 17:10:02 +0000 Subject: Zou --- src/test.cc | 88 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++----- 1 file changed, 82 insertions(+), 6 deletions(-) (limited to 'src') diff --git a/src/test.cc b/src/test.cc index 679c893..f82a6bd 100644 --- a/src/test.cc +++ b/src/test.cc @@ -1,13 +1,89 @@ +#include +#include "generic.h" +#include "Main.h" #include "glbase.h" -#include +#include "gltexture.h" CODE_BEGINS - -virtual int startup(void) throw(GeneralException) { +virtual int startup() throw (GeneralException) { + Uint8 * texture; verbosity = M_INFO; - - mogltk::glbase::glVertex(3.0, 3.0); + mogltk::glbase::setup(); + + verbosity = M_INFO; + + mogltk::texture * mytex = new mogltk::texture(256, 256, true); + + texture = (Uint8 *) mytex->GetSurface()->pixels; + + for (int y = 0; y < 256; y++) { + for (int x = 0; x < 256; x++) { + int r = random() % 256; + texture[(x + y * 256) * 4 + 0] = r; + texture[(x + y * 256) * 4 + 1] = r; + texture[(x + y * 256) * 4 + 2] = r; + texture[(x + y * 256) * 4 + 3] = 255; + } + } + + SDL_Surface * s; + + if (!(s = SDL_LoadBMP("pattern6.bmp"))) { + throw GeneralException("Error: could not load texture."); + } + SDL_BlitSurface(s, NULL, mytex->GetSurface(), NULL); +/* + for (int y = 0; y < 256; y += 2) { + for (int x = 0; x < 256; x += 2) { + texture[(x + y * 256) * 4 + 0] = 255; + texture[(x + y * 256) * 4 + 1] = 255; + texture[(x + y * 256) * 4 + 2] = 255; + texture[(x + y * 256) * 4 + 3] = 255; + } + } +*/ + mogltk::glbase::Enter2DMode(); + + mytex->Bind(); + glBegin(GL_TRIANGLE_STRIP); +// glColor3d(0, 0, 0); + glTexCoord2i(0, 0); + glVertex2f(50, 50); +// glColor3d(1, 0, 0); + glTexCoord2i(511, 0); + glVertex2f(561, 50); +// glColor3d(0, 1, 0); + glTexCoord2i(0, 511); + glVertex2f(50, 561); +// glColor3d(0, 0, 1); + glTexCoord2i(511, 511); + glVertex2f(561, 561); + glEnd(); + + mogltk::texture::Unbind(); + glBegin(GL_TRIANGLE_STRIP); +// glTexCoord2i(0, 0); + glColor3d(0, 0, 0); + glVertex2f(400, 100); +// glTexCoord2i(256, 0); + glColor3d(1, 0, 0); + glVertex2f(450, 100); +// glTexCoord2i(0, 256); + glColor3d(0, 1, 0); + glVertex2f(400, 150); +// glTexCoord2i(256, 256); + glColor3d(0, 0, 1); + glVertex2f(450, 150); + glEnd(); + mogltk::glbase::Leave2DMode(); + + mogltk::glbase::Flip(); + +// sleep(15); + getchar(); + + delete mytex; + return 0; } - CODE_ENDS -- cgit v1.2.3