#include <msp/gl/extensions/arb_vertex_shader.h>
#include "gl.h"
#include "misc.h"
+#include "texture.h"
#include "texunit.h"
using namespace std;
TexUnit *TexUnit::cur_unit = 0;
TexUnit::TexUnit():
- texture(0)
+ texture(0),
+ sampler(0)
{ }
bool TexUnit::set_texture(const Texture *tex)
return result;
}
+bool TexUnit::set_sampler(const Sampler *samp)
+{
+ bool result = (samp!=sampler);
+ sampler = samp;
+ return result;
+}
+
void TexUnit::bind()
{
if(cur_unit!=this && (cur_unit || index))
if(count<0)
{
if(ARB_vertex_shader)
- count = get_i(GL_MAX_TEXTURE_IMAGE_UNITS);
+ count = get_i(GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS);
else if(ARB_multitexture)
count = get_i(GL_MAX_TEXTURE_UNITS);
else