From: <axl...@us...> - 2009-04-12 23:37:14
|
Revision: 211 http://hgengine.svn.sourceforge.net/hgengine/?rev=211&view=rev Author: axlecrusher Date: 2009-04-12 23:37:04 +0000 (Sun, 12 Apr 2009) Log Message: ----------- use glu mipmaps Modified Paths: -------------- Mercury2/src/Mercury2.cpp Mercury2/src/MercuryVBO.cpp Mercury2/src/MercuryVBO.h Mercury2/src/Texture.cpp Modified: Mercury2/src/Mercury2.cpp =================================================================== --- Mercury2/src/Mercury2.cpp 2009-04-12 22:24:37 UTC (rev 210) +++ Mercury2/src/Mercury2.cpp 2009-04-12 23:37:04 UTC (rev 211) @@ -83,8 +83,9 @@ if (fpsTimer.Age() > 1) { float batches = MercuryVBO::ResetBatchCount()/(float)m_count; - float binds = Texture::ReadAndResetBindCount()/(float)m_count; - printf("FPS: %f, VBO batches %f, TBinds %f\n", m_count/fpsTimer.Age(), batches, binds); + float VBinds = MercuryVBO::ResetBindCount()/(float)m_count; + float Tbinds = Texture::ReadAndResetBindCount()/(float)m_count; + printf("FPS: %f, VBO batches %f, TBinds %f, VBinds %f\n", m_count/fpsTimer.Age(), batches, Tbinds, VBinds); m_count = 0; fpsTimer = timer; } Modified: Mercury2/src/MercuryVBO.cpp =================================================================== --- Mercury2/src/MercuryVBO.cpp 2009-04-12 22:24:37 UTC (rev 210) +++ Mercury2/src/MercuryVBO.cpp 2009-04-12 23:37:04 UTC (rev 211) @@ -40,7 +40,10 @@ InitVBO(); if ( this != m_lastVBOrendered) + { glVertexPointer(3, GL_FLOAT, stride, BUFFER_OFFSET(sizeof(float)*5)); + ++m_vboBinds; + } //apply all the active textures for (uint8_t i = 0; i < numTextures; ++i) @@ -87,6 +90,7 @@ void* MercuryVBO::m_lastVBOrendered = NULL; uint32_t MercuryVBO::m_vboBatches; +uint32_t MercuryVBO::m_vboBinds; /**************************************************************************** * Copyright (C) 2008 by Joshua Allen * Modified: Mercury2/src/MercuryVBO.h =================================================================== --- Mercury2/src/MercuryVBO.h 2009-04-12 22:24:37 UTC (rev 210) +++ Mercury2/src/MercuryVBO.h 2009-04-12 23:37:04 UTC (rev 211) @@ -20,6 +20,7 @@ static uint32_t BatchCount() { return m_vboBatches; } static uint32_t ResetBatchCount() { uint32_t t = m_vboBatches; m_vboBatches = 0; return t; } + static uint32_t ResetBindCount() { uint32_t t = m_vboBinds; m_vboBinds = 0; return t; } private: virtual void InitVBO(); @@ -33,6 +34,7 @@ AlignedBuffer<uint16_t> m_indexData; static uint32_t m_vboBatches; + static uint32_t m_vboBinds; }; #endif Modified: Mercury2/src/Texture.cpp =================================================================== --- Mercury2/src/Texture.cpp 2009-04-12 22:24:37 UTC (rev 210) +++ Mercury2/src/Texture.cpp 2009-04-12 23:37:04 UTC (rev 211) @@ -6,6 +6,7 @@ #include <GL/gl.h> #include <GL/glext.h> +#include <GL/glu.h> using namespace std; @@ -62,6 +63,7 @@ } glBindTexture(GL_TEXTURE_2D, m_textureID); +/* glTexImage2D(GL_TEXTURE_2D, 0, ByteType, @@ -71,8 +73,10 @@ ByteType, GL_UNSIGNED_BYTE, m_raw->m_data); +*/ + gluBuild2DMipmaps( GL_TEXTURE_2D, 3, m_raw->m_width, m_raw->m_height, ByteType, GL_UNSIGNED_BYTE, m_raw->m_data ); - glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MIN_FILTER,GL_LINEAR); + glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MIN_FILTER,GL_LINEAR_MIPMAP_NEAREST); glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MAG_FILTER,GL_LINEAR); // glTexEnvi( GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_MODULATE ); @@ -80,6 +84,8 @@ glTexParameteri( GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP); glTexParameteri( GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP); +// gluBuild2DMipmaps( GL_TEXTURE_2D, 3, m_raw->m_width, m_raw->m_height, ByteType, GL_UNSIGNED_BYTE, m_raw->m_data ); + }; void Texture::Render(const MercuryNode* node) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |