Exemple #1
0
void Texture::createTextureObject(int context_id)
{
	GLuint& id = _ids[context_id];

	glEnable(GL_TEXTURE_2D);
	glGenTextures(1, &id);
	glBindTexture(GL_TEXTURE_2D, id);

	applyParams();  

	// Get the maximum texture size for this GPU.
	GLint max_size = 0;
	glGetIntegerv (GL_MAX_TEXTURE_SIZE, &max_size);
	if (_width > max_size || _height > max_size)
	{
		gluBuild2DMipmaps(GL_TEXTURE_2D,
	                  _params.internalFormat,
	                  _width, _height,
	                  GL_BGRA,
	                  GL_UNSIGNED_BYTE,
	                  FreeImage_GetBits (_data));
		checkGLErrors("Texture::createTextureObject1 - gluBuild2DMipmaps");
	}
	else
	{
		glTexImage2D (GL_TEXTURE_2D, 0, _params.internalFormat, _width, _height, 0, GL_BGRA, GL_UNSIGNED_BYTE, FreeImage_GetBits (_data));
		glGenerateMipmapEXT (GL_TEXTURE_2D);
		checkGLErrors("Texture::createTextureObject1 - glTexImage2D");
	}

	unbind();
}
Exemple #2
0
void Texture::blank (const size_t width, const size_t height, int data_type, int context_id)
{
	GLuint &id = _ids[context_id];
	glGenTextures (1, &id);
	glBindTexture (GL_TEXTURE_2D, id);

	applyParams ();
	glTexImage2D (GL_TEXTURE_2D, 0, _params.internalFormat, width, height, 0, _params.format, data_type, NULL);
	glBindTexture (GL_TEXTURE_2D, 0);
}
Exemple #3
0
void Splinter::init(const Asteroid &parent, float fi)
{
    _rr = parent.R() /2.;
	x = parent.X() + parent.R() * cos(fi);
	y = parent.Y() + parent.R() * sin(fi);
    _rotateSpeed = parent.rotateSpeed();
    float dv = 0.05;
	vx = parent.VX() + dv *  cos(fi);
    vy = parent.VY() + dv *  sin(fi);
	_color = parent.color();
	angle = atan2(vx, vy);
    nvertices = random2().irandom(12,16);
    _colorMult = parent.colorMult();
    applyParams();
}
Exemple #4
0
vector<int> ListModel::solve(SolverParams params) {
    Utils::Tracer *tr = nullptr;
	TraceCallback *cback = nullptr;
	buildModel();
	applyParams(params);
    if(params.traceobj) {
        tr = new Utils::Tracer(traceFilenameForListModel(params.outPath, params.solverIx, p.instanceName));
		cback = new TraceCallback(*tr);
        //ls.addCallback(CT_TimeTicked, cback);
		decoder->setTracer(tr);
    }
	ls.solve();
	auto sol = ls.getSolution();
	if(cback != nullptr) delete cback;
    if(tr != nullptr) delete tr;
	return parseScheduleFromSolution(sol);
}
Exemple #5
0
// Create a texture object with passed in data.
void Texture::createTextureObject (unsigned char *data, math::vec2i size, int context_id)
{
	_width  = size.x ();
	_height = size.y ();

	GLuint &id = _ids[context_id];

	glEnable (GL_TEXTURE_2D);
	glGenTextures (1, &id);
	glBindTexture (GL_TEXTURE_2D, id);

	applyParams ();

	// Get the maximum texture size for this GPU.
	GLint max_size = 0;
	glGetIntegerv (GL_MAX_TEXTURE_SIZE, &max_size);
	if (_width > max_size || _height > max_size)
	{
		gluBuild2DMipmaps (GL_TEXTURE_2D,
				           _params.internalFormat,
						   _width, 
						   _height,
						   _params.format,
						   GL_UNSIGNED_BYTE,
						   data);
		checkGLErrors ("Texture::createTextureObject2 - gluBuild2DMipmaps");
	}
	else
	{
		glTexImage2D (GL_TEXTURE_2D, 
				      0, 
					  _params.internalFormat, 
					  _width, 
					  _height, 
					  0, 
					  _params.format, 
					  GL_UNSIGNED_BYTE, 
					  data);
		glGenerateMipmapEXT (GL_TEXTURE_2D);
		checkGLErrors("Texture::createTextureObject2 - glTexImage2D");
	}

	unbind ();
}
Exemple #6
0
void Asteroid::init()
{
	initParams();
	applyParams();
}