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)); }
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"); }
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); }
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); }
void CGizmo::Update() { std::vector<CGizmoElement*>::iterator it = m_Elements.begin(), it_end = m_Elements.end(); for ( ; it != it_end; ++it ) { ( *it )->Update(); } MakeTransform(); }
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; }
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); }
void CGizmoElement::Update() { MakeTransform(); }