Ein paar verbesserungen...

This commit is contained in:
root 2008-07-31 00:51:39 +02:00
parent e8de360ed9
commit b41c12950d
7 changed files with 22 additions and 4 deletions

View File

@ -36,6 +36,11 @@ void GLCamera::setCamera() {
// glTranslateP3D(-pos);
}
void GLCamera::setPosDirNorm(Punkt3D p, Punkt3D d, Punkt3D n) {
pos = p;
dir = d.getNormalized();
norm = n.getNormalized();
}
// Move-Funktionen
@ -170,6 +175,10 @@ void GLCamera::renderCoord() {
glEnd();
}
Punkt3D GLCamera::getPos() {
return pos;
}
GLCamera::~GLCamera() {
}

View File

@ -33,6 +33,7 @@ class GLCamera {
// GLCamera(Punkt3d
void setCamera();
void setPosDirNorm(Punkt3D p, Punkt3D D, Punkt3D n);
// Std Move
void moveForward(float sec);
@ -51,6 +52,7 @@ class GLCamera {
void print();
void renderCoord();
Punkt3D getPos();
~GLCamera();
};

View File

@ -10,7 +10,7 @@ bool GLFontEngine::addFont(std::string fontfile, std::string fontname) {
}
fontpool[fontname] = tmp;
return false;
return true;
}
void GLFontEngine::quit() {
@ -124,7 +124,7 @@ void GLFontEngine::renderLine(std::string text, SDL_Rect pos) {
for(unsigned int i=0; i<text.length(); i++) {
int ch = text[i];
if(ch<0) {
ch += 256; // char geht wohl in machen fällen nur von -128 bis +127 *hust*
ch += 256; // char geht wohl in machen f<EFBFBD>llen nur von -128 bis +127 *hust*
}
// std::cout << (int)text[i] << " ";
tex_x = ((ch-1)%16 / 16.0f);
@ -174,7 +174,7 @@ void GLFontEngine::renderLine(std::string str, int x, int y, bool center, SDL_Re
void GLFontEngine::renderLines(std::string str, int x, int y, bool center, SDL_Rect *rendered_to, int wrap, int paintbackground) {
if(wrap) {
// \n einfügen, wenns zu groß ist
// \n einf<EFBFBD>gen, wenns zu gro<72> ist
for(unsigned int i=0, a=0; i<str.length(); i++, a++) {
if(str[i]!='\n') {
if(a*font->charwidth*fsize>wrap) {

View File

@ -21,6 +21,10 @@ class MenuMenu {
int maxwidth;
int valuewidth;
GLFontEngine fontengine;
// Soll anderes center evtl. ersetzen
// TODO: cleanup
bool fullcenter;
public:
MenuMenu();

View File

@ -109,6 +109,7 @@ bool GLSDLScreen::apply() {
glHint(GL_PERSPECTIVE_CORRECTION_HINT, GL_NICEST);
glEnable(GL_ALPHA_TEST);
glAlphaFunc(GL_GREATER, 0.1);
glEnable(GL_DEPTH_TEST);
}
// Projection
@ -124,7 +125,7 @@ bool GLSDLScreen::apply() {
// Texturen neuladen, eigentlich nur für Windows. Aber egal.
// Texturen neuladen, eigentlich nur f<EFBFBD>r Windows. Aber egal.
GLTexture::reloadAll();
glMatrixMode(GL_TEXTURE);
glLoadIdentity();

View File

@ -16,6 +16,7 @@ class GLSDLScreen {
bool resizable;
bool fullscreen;
// OpenGL related
float znear, zfar;
void (*extraglparam)();

View File

@ -1,6 +1,7 @@
#ifndef __LOADOBJ_H
#define __LOADOBJ_H
#include <cstdlib>
#include "modelloader.h"
#include "model.h"
#include "../extstring.h"