tavli

diff src/mesh.cc @ 11:a8e26f163f99

poulia
author John Tsiombikas <nuclear@member.fsf.org>
date Sat, 27 Jun 2015 08:01:51 +0300
parents f1ecc2439802
children b1a195c3ee16
line diff
     1.1 --- a/src/mesh.cc	Fri Jun 26 05:41:18 2015 +0300
     1.2 +++ b/src/mesh.cc	Sat Jun 27 08:01:51 2015 +0300
     1.3 @@ -6,6 +6,8 @@
     1.4  #include "mesh.h"
     1.5  //#include "xform_node.h"
     1.6  
     1.7 +#define USE_OLDGL
     1.8 +
     1.9  int Mesh::global_sdr_loc[NUM_MESH_ATTR] = { 0, 1, 2, 3, 4, 5, 6 };
    1.10  /*
    1.11  	(int)SDR_ATTR_VERTEX,
    1.12 @@ -717,6 +719,9 @@
    1.13  void Mesh::draw_normals() const
    1.14  {
    1.15  #ifdef USE_OLDGL
    1.16 +	int cur_sdr;
    1.17 +	glGetIntegerv(GL_CURRENT_PROGRAM, &cur_sdr);
    1.18 +
    1.19  	Vector3 *varr = (Vector3*)get_attrib_data(MESH_ATTR_VERTEX);
    1.20  	Vector3 *norm = (Vector3*)get_attrib_data(MESH_ATTR_NORMAL);
    1.21  	if(!varr || !norm) {
    1.22 @@ -724,7 +729,7 @@
    1.23  	}
    1.24  
    1.25  	glBegin(GL_LINES);
    1.26 -	if(get_current_shader()) {
    1.27 +	if(cur_sdr) {
    1.28  		int vert_loc = global_sdr_loc[MESH_ATTR_VERTEX];
    1.29  		if(vert_loc < 0) {
    1.30  			glEnd();
    1.31 @@ -750,6 +755,9 @@
    1.32  void Mesh::draw_tangents() const
    1.33  {
    1.34  #ifdef USE_OLDGL
    1.35 +	int cur_sdr;
    1.36 +	glGetIntegerv(GL_CURRENT_PROGRAM, &cur_sdr);
    1.37 +
    1.38  	Vector3 *varr = (Vector3*)get_attrib_data(MESH_ATTR_VERTEX);
    1.39  	Vector3 *tang = (Vector3*)get_attrib_data(MESH_ATTR_TANGENT);
    1.40  	if(!varr || !tang) {
    1.41 @@ -757,7 +765,7 @@
    1.42  	}
    1.43  
    1.44  	glBegin(GL_LINES);
    1.45 -	if(get_current_shader()) {
    1.46 +	if(cur_sdr) {
    1.47  		int vert_loc = global_sdr_loc[MESH_ATTR_VERTEX];
    1.48  		if(vert_loc < 0) {
    1.49  			glEnd();