Метляков Андрей (deviaphan) wrote in coin3d_ru,
Метляков Андрей
deviaphan
coin3d_ru

"Чиним" coin

#UPD: Бяки.( Отправил разработчикам эту ошибку. В ответ получил: "Тех. поддержка оказывается только пользователям платных аккаунтов". Вот с каких пор, чтобы сообщить об ошибке, нужно осуществлять подписку? Ну и ладно, я всё равно умею эту ошибку исправлять.)


При каждой компиляции шейдера, выводится информационное сообщение об успешной или провальной компиляции.
По моему, видеть этот диалог при успешной компиляции вовсе не обязательно, поэтому мы от него избавимся.


Для исправления, откройте файл "SoGLSLShaderObject.cpp" и отредактируйте метод SoGLSLShaderObject::load как показано ниже. Пересоберите библиотеку.
SoGLSLShaderObject.cpp
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56    SbBool SoGLSLShaderObject::isLoaded(void) const { return (this->shaderHandle != 0); } void SoGLSLShaderObject::load(const char* srcStr) { this->unload(); this->setParametersDirty(TRUE); GLint flag; GLenum sType; switch (this->getShaderType()) { default: assert(0 &&" unknown shader type"); case VERTEX: sType = GL_VERTEX_SHADER_ARB; break; case FRAGMENT: sType = GL_FRAGMENT_SHADER_ARB; break; case GEOMETRY: sType = GL_GEOMETRY_SHADER_EXT; break; } this->shaderHandle = this->glctx->glCreateShaderObjectARB(sType); this->programid = 0; if (this->shaderHandle == 0) return; this->programid = soglshaderobject_idcounter++; this->glctx->glShaderSourceARB(this->shaderHandle, 1, (const COIN_GLchar **)&srcStr, NULL); this->glctx->glCompileShaderARB(this->shaderHandle); if (SoGLSLShaderObject::didOpenGLErrorOccur("SoGLSLShaderObject::load()")) { this->shaderHandle = 0; return; } this->glctx->glGetObjectParameterivARB(this->shaderHandle, GL_OBJECT_COMPILE_STATUS_ARB, &flag); //---------------------------- Исправление if (!flag) { SoGLSLShaderObject::printInfoLog(this->GLContext(), this->shaderHandle, this->getShaderType()); this->shaderHandle = 0; } //----------------------------- }
Tags: !раздел:info
Subscribe
  • Post a new comment

    Error

    Anonymous comments are disabled in this journal

    default userpic

    Your reply will be screened

    Your IP address will be recorded 

  • 7 comments