tavli

diff src/mesh.cc @ 16:d6209903454b

opengl capabilities
author John Tsiombikas <nuclear@member.fsf.org>
date Sun, 28 Jun 2015 08:48:25 +0300
parents b1a195c3ee16
children
line diff
     1.1 --- a/src/mesh.cc	Sun Jun 28 08:34:24 2015 +0300
     1.2 +++ b/src/mesh.cc	Sun Jun 28 08:48:25 2015 +0300
     1.3 @@ -564,9 +564,10 @@
     1.4  
     1.5  void Mesh::draw() const
     1.6  {
     1.7 -	int cur_sdr;
     1.8 -	glGetIntegerv(GL_CURRENT_PROGRAM, &cur_sdr);
     1.9 -
    1.10 +	int cur_sdr = 0;
    1.11 +	if(glcaps.shaders) {
    1.12 +		glGetIntegerv(GL_CURRENT_PROGRAM, &cur_sdr);
    1.13 +	}
    1.14  
    1.15  	((Mesh*)this)->update_buffers();
    1.16  
    1.17 @@ -720,8 +721,10 @@
    1.18  void Mesh::draw_normals() const
    1.19  {
    1.20  #ifdef USE_OLDGL
    1.21 -	int cur_sdr;
    1.22 -	glGetIntegerv(GL_CURRENT_PROGRAM, &cur_sdr);
    1.23 +	int cur_sdr = 0;
    1.24 +	if(glcaps.shaders) {
    1.25 +		glGetIntegerv(GL_CURRENT_PROGRAM, &cur_sdr);
    1.26 +	}
    1.27  
    1.28  	Vector3 *varr = (Vector3*)get_attrib_data(MESH_ATTR_VERTEX);
    1.29  	Vector3 *norm = (Vector3*)get_attrib_data(MESH_ATTR_NORMAL);
    1.30 @@ -756,8 +759,10 @@
    1.31  void Mesh::draw_tangents() const
    1.32  {
    1.33  #ifdef USE_OLDGL
    1.34 -	int cur_sdr;
    1.35 -	glGetIntegerv(GL_CURRENT_PROGRAM, &cur_sdr);
    1.36 +	int cur_sdr = 0;
    1.37 +	if(glcaps.shaders) {
    1.38 +		glGetIntegerv(GL_CURRENT_PROGRAM, &cur_sdr);
    1.39 +	}
    1.40  
    1.41  	Vector3 *varr = (Vector3*)get_attrib_data(MESH_ATTR_VERTEX);
    1.42  	Vector3 *tang = (Vector3*)get_attrib_data(MESH_ATTR_TANGENT);