Ejemplo n.º 1
0
ImageSource *PPEffect_Temperature::Apply(ImageSource *source)
{
    if(!transform)
        MakeTransform(source->type);

    if(transform->GetInputColourSpace()!=STRIP_ALPHA(source->type))
    {
        transform=NULL;
        MakeTransform(source->type);
    }
    return(new ImageSource_CMS(source,transform));
}
Ejemplo n.º 2
0
Archivo: main.cpp Proyecto: darxsys/IRG
void animateSceneCenterMovement() {
	calculateBezier(points);
	for(int i = 0; i < bezierPoints.size(); ++i) {
		center.i = bezierPoints[i].x;
		center.j = bezierPoints[i].y;
		center.k = bezierPoints[i].z;

		ObjectModel* n = removePolygons(original);

		//pronadji matricu transformacije za postojece ociste i glediste
		float* MatrixViewT;
		float* MatrixProjectionT;
		MakeTransform(eye, center, &MatrixViewT, &MatrixProjectionT);
		float* Matrix;
		MatrixMultiply(MatrixViewT, 4, 4, MatrixProjectionT, 4, 4, &Matrix);
		ObjectModel* o = TransformCopy(n, Matrix);
		o->normalize();	
		free(MatrixViewT); free(MatrixProjectionT); free(Matrix);

		drawBody(o);		
		delete n; delete o;
		sleep(1);
	}
	//glutSwapBuffers();
	printf("Animacija gotova.\n");
}
Ejemplo n.º 3
0
void Renderer::DrawBuffer(GLuint Mode,VertexPos2DColorTex *VertexBuffer,unsigned short *IndexBuffer,int IndexBufferSize)
{
	MakeTransform();

	GLuint prg = VertexPos2DColorTexProgram->ReturnProgram();
	glUseProgram(prg);

	glEnableVertexAttribArray(elmPosition2);
	glEnableVertexAttribArray(elmColor);
	glEnableVertexAttribArray(elmTex1);

	glBindAttribLocation(prg,elmPosition2,"position2");
	glVertexAttribPointer(elmPosition2,2,GL_FLOAT,GL_FALSE,sizeof(VertexPos2DColorTex),VertexBuffer);

	glBindAttribLocation(prg,elmColor,"color");
	glVertexAttribPointer(elmColor,4,GL_UNSIGNED_BYTE,GL_FALSE,sizeof(VertexPos2DColorTex),((char *)(VertexBuffer)) + sizeof(Vector2));

	glBindAttribLocation(prg,elmTex1,"tex1");
	glVertexAttribPointer(elmTex1,2,GL_FLOAT,GL_FALSE,sizeof(VertexPos2DColorTex),((char *)(VertexBuffer)) + sizeof(Vector2) + sizeof(Color));

	GLint TMindex = glGetUniformLocation(prg,"TransformMat");
	glUniformMatrix4fv(TMindex,1,GL_FALSE,(const GLfloat *)(&TransformMat));

	glDrawElements(Mode,IndexBufferSize,GL_UNSIGNED_SHORT,IndexBuffer);

	glDisableVertexAttribArray(elmPosition2);
	glDisableVertexAttribArray(elmColor);
	glDisableVertexAttribArray(elmTex1);
}
Ejemplo n.º 4
0
void Renderer::DrawBuffer(GLuint Mode,VertexPosColor *VertexBuffer,unsigned short *IndexBuffer,int IndexBufferSize)
{
	MakeTransform();

	GLuint prg = VertexPosColorProgram->ReturnProgram();
	glUseProgram(prg);

	glBindAttribLocation(prg,elmPosition3,"position3");
	glBindAttribLocation(prg,elmColor,"color");

	glEnableVertexAttribArray(elmPosition3);
	glEnableVertexAttribArray(elmColor);

	glVertexAttribPointer(elmPosition3,3,GL_FLOAT,GL_TRUE,sizeof(VertexPosColor),&VertexBuffer->pos.x);

	glVertexAttribPointer(elmColor,4,GL_UNSIGNED_BYTE, GL_TRUE,sizeof(VertexPosColor),&VertexBuffer->color.r);

	GLint TMindex = glGetUniformLocation(prg,"transformmat");
	glUniformMatrix4fv(TMindex,1,GL_FALSE,TransformMat.Ptr());

	glDrawElements(Mode,IndexBufferSize,GL_UNSIGNED_SHORT,IndexBuffer);

	glDisableVertexAttribArray(elmPosition3);
	glDisableVertexAttribArray(elmColor);
}
Ejemplo n.º 5
0
void CGizmo::Update()
{
    std::vector<CGizmoElement*>::iterator it = m_Elements.begin(),
                                          it_end = m_Elements.end();

    for ( ; it != it_end; ++it )
    { ( *it )->Update(); }

    MakeTransform();
}
Ejemplo n.º 6
0
Archivo: main.cpp Proyecto: darxsys/IRG
void renderScene() {
	// ObjectModel* n = new ObjectModel(original);
	ObjectModel* n = removePolygons(original);

	//pronadji matricu transformacije za postojece ociste i glediste
	float* MatrixViewT;
	float* MatrixProjectionT;
	MakeTransform(eye, center, &MatrixViewT, &MatrixProjectionT);
	float* Matrix;
	MatrixMultiply(MatrixViewT, 4, 4, MatrixProjectionT, 4, 4, &Matrix);
	ObjectModel* o = TransformCopy(n, Matrix);
	o->normalize();	

	free(MatrixViewT); free(MatrixProjectionT); free(Matrix);

	drawBody(o);
	delete n; delete o; //delete original;
}
Ejemplo n.º 7
0
void Renderer::DrawBuffer(GLuint Mode,VertexPos *VertexBuffer,unsigned short *IndexBuffer,int IndexBufferSize)
{
	MakeTransform();

	GLuint prg = VertexPosProgram->ReturnProgram();
	glUseProgram(prg);

	glEnableVertexAttribArray(elmPosition3);

	glBindAttribLocation(prg,elmPosition3,"position3");
	glVertexAttribPointer(elmPosition3,3,GL_FLOAT,GL_FALSE,sizeof(VertexPos),VertexBuffer);

	GLint TMindex = glGetUniformLocation(prg,"TransformMat");
	glUniformMatrix4fv(TMindex,1,GL_FALSE,(const GLfloat *)(&TransformMat));

	glDrawElements(Mode,IndexBufferSize,GL_UNSIGNED_SHORT,IndexBuffer);

	glDisableVertexAttribArray(elmPosition3);
}
Ejemplo n.º 8
0
void CGizmoElement::Update()
{
    MakeTransform();
}