예제 #1
0
파일: shader.cpp 프로젝트: tonttu/Shaderkit
 ShaderPtr Shader::clone(ProgramPtr prog) const
 {
   ShaderPtr s(new Shader(prog, m_type));
   s->setFilename(rawFilename());
   s->m_src = m_src;
   s->m_needCompile = true;
   if (prog) prog->setIsCompiled(false);
   return s;
 }
예제 #2
0
파일: shader.cpp 프로젝트: tonttu/Shaderkit
 bool Shader::loadSrc(const QString& data)
 {
   if (m_src != data) {
     m_src = data;
     m_needCompile = true;
     // Tell the program object, that it needs to recompile stuff
     ProgramPtr p = m_prog.lock();
     if (p) p->setIsCompiled(false);
     return true;
   }
   return false;
 }