4th Attempt to fix texture rendering on OpenGL 1.1 cards
This commit is contained in:
parent
be52647440
commit
266a4413bd
@ -1583,14 +1583,26 @@ GUI::GLCanvas3DManager _3DScene::s_canvas_mgr;
|
||||
|
||||
unsigned int _3DScene::TextureBase::finalize()
|
||||
{
|
||||
if (!m_data.empty()) {
|
||||
//#######################################################################################################################
|
||||
if ((m_tex_id == 0) && !m_data.empty()) {
|
||||
// if (!m_data.empty()) {
|
||||
//#######################################################################################################################
|
||||
// sends buffer to gpu
|
||||
//#######################################################################################################################
|
||||
// ::glPixelStorei(GL_UNPACK_ALIGNMENT, 1);
|
||||
//#######################################################################################################################
|
||||
::glGenTextures(1, &m_tex_id);
|
||||
::glBindTexture(GL_TEXTURE_2D, m_tex_id);
|
||||
::glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA8, (GLsizei)m_tex_width, (GLsizei)m_tex_height, 0, GL_RGBA, GL_UNSIGNED_BYTE, (const GLvoid*)m_data.data());
|
||||
//#######################################################################################################################
|
||||
::glBindTexture(GL_TEXTURE_2D, (GLuint)m_tex_id);
|
||||
// ::glBindTexture(GL_TEXTURE_2D, m_tex_id);
|
||||
//#######################################################################################################################
|
||||
//#######################################################################################################################
|
||||
::glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA8, (GLsizei)m_tex_width, (GLsizei)m_tex_height, 0, GL_RGBA, GL_UNSIGNED_BYTE, (const void*)m_data.data());
|
||||
|
||||
std::cout << "loaded texture: " << m_tex_width << ", " << m_tex_height << std::endl;
|
||||
|
||||
// ::glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA8, (GLsizei)m_tex_width, (GLsizei)m_tex_height, 0, GL_RGBA, GL_UNSIGNED_BYTE, (const GLvoid*)m_data.data());
|
||||
//#######################################################################################################################
|
||||
::glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
|
||||
::glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
|
||||
::glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAX_LEVEL, 1);
|
||||
|
@ -3548,9 +3548,6 @@ void GLCanvas3D::_render_warning_texture() const
|
||||
unsigned int h = _3DScene::get_warning_texture_height();
|
||||
if ((w > 0) && (h > 0))
|
||||
{
|
||||
//###############################################################################################################################
|
||||
::glDisable(GL_LIGHTING);
|
||||
//###############################################################################################################################
|
||||
::glDisable(GL_DEPTH_TEST);
|
||||
::glPushMatrix();
|
||||
::glLoadIdentity();
|
||||
@ -3584,9 +3581,6 @@ void GLCanvas3D::_render_legend_texture() const
|
||||
unsigned int h = _3DScene::get_legend_texture_height();
|
||||
if ((w > 0) && (h > 0))
|
||||
{
|
||||
//###############################################################################################################################
|
||||
::glDisable(GL_LIGHTING);
|
||||
//###############################################################################################################################
|
||||
::glDisable(GL_DEPTH_TEST);
|
||||
::glPushMatrix();
|
||||
::glLoadIdentity();
|
||||
|
Loading…
Reference in New Issue
Block a user