示例#1
0
OpenGLModule::OpenGLModule(InviwoApplication* app)
    : InviwoModule(app, "OpenGL")
    , sharedResources_{util::make_unique<SharedOpenGLResources>()}
    , shaderManager_{util::make_unique<ShaderManager>()} {
    
    SharedOpenGLResources::init(sharedResources_.get());
    ShaderManager::init(shaderManager_.get());

    opengl::addShaderResources(shaderManager_.get(), {getPath(ModulePath::GLSL)});

    registerDrawer(util::make_unique<MeshDrawerGL>());
    registerRepresentationConverter(util::make_unique<LayerRAM2GLConverter>());
    registerRepresentationConverter(util::make_unique<LayerGL2RAMConverter>());

    registerRepresentationConverter(util::make_unique<VolumeRAM2GLConverter>());
    registerRepresentationConverter(util::make_unique<VolumeGL2RAMConverter>());

    registerRepresentationConverter(util::make_unique<BufferRAM2GLConverter>());
    registerRepresentationConverter(util::make_unique<BufferGL2RAMConverter>());
    registerRepresentationConverter(util::make_unique<ElementBufferRAM2GLConverter>());
    registerRepresentationConverter(util::make_unique<ElementBufferGL2RAMConverter>());

    registerProcessor<CanvasProcessorGL>();

    auto settings = util::make_unique<OpenGLSettings>();
    auto openGLCap = util::make_unique<OpenGLCapabilities>(settings.get());
    shaderManager_.get()->setOpenGLSettings(settings.get());

    registerSettings(std::move(settings));
    registerCapabilities(std::move(openGLCap));
}
示例#2
0
OpenGLModule::OpenGLModule(InviwoApplication* app) : InviwoModule(app, "OpenGL") {
    ShaderManager::init();

#ifdef OPENGL_INCLUDE_SHADER_RESOURCES
    OPENGL_addGeneratedShaderResources();
#else
    ShaderManager::getPtr()->addShaderSearchPath(InviwoApplication::PATH_MODULES, "opengl/glsl");
#endif

    registerDrawer(util::make_unique<MeshDrawerGL>());
    registerRepresentationConverter(util::make_unique<LayerRAM2GLConverter>());
    registerRepresentationConverter(util::make_unique<LayerGL2RAMConverter>());

    registerRepresentationConverter(util::make_unique<VolumeRAM2GLConverter>());
    registerRepresentationConverter(util::make_unique<VolumeGL2RAMConverter>());
    
    registerRepresentationConverter(util::make_unique<BufferRAM2GLConverter>());
    registerRepresentationConverter(util::make_unique<BufferGL2RAMConverter>());
    registerRepresentationConverter(util::make_unique<ElementBufferRAM2GLConverter>());
    registerRepresentationConverter(util::make_unique<ElementBufferGL2RAMConverter>());

    registerProcessor<CanvasProcessorGL>();

    auto settings = util::make_unique<OpenGLSettings>();
    auto openGLCap = util::make_unique<OpenGLCapabilities>(settings.get());
    ShaderManager::getPtr()->setUniformWarningLevel(settings.get());

    registerSettings(std::move(settings));
    registerCapabilities(std::move(openGLCap));
}