コード例 #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.cpp プロジェクト: sunwj/inviwo
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));
}
コード例 #3
0
ファイル: inviwocore.cpp プロジェクト: sarbi127/inviwo
InviwoCore::InviwoCore() : InviwoModule() {
    setIdentifier("Core");
    // Register Converters
    registerRepresentationConverter(new VolumeDisk2RAMConverter());
    registerRepresentationConverter(new LayerDisk2RAMConverter());
    registerRepresentationConverter(new MeshDisk2RAMConverter());
    // Register MetaData
    registerMetaData(new BoolMetaData());
    registerMetaData(new IntMetaData());
    registerMetaData(new FloatMetaData());
    registerMetaData(new DoubleMetaData());
    registerMetaData(new StringMetaData());
    registerMetaData(new FloatVec2MetaData());
    registerMetaData(new FloatVec3MetaData());
    registerMetaData(new FloatVec4MetaData());
    registerMetaData(new DoubleVec2MetaData());
    registerMetaData(new DoubleVec3MetaData());
    registerMetaData(new DoubleVec4MetaData());
    registerMetaData(new IntVec2MetaData());
    registerMetaData(new IntVec3MetaData());
    registerMetaData(new IntVec4MetaData());
    registerMetaData(new UIntVec2MetaData());
    registerMetaData(new UIntVec3MetaData());
    registerMetaData(new UIntVec4MetaData());
    registerMetaData(new FloatMat2MetaData());
    registerMetaData(new FloatMat3MetaData());
    registerMetaData(new FloatMat4MetaData());
    registerMetaData(new DoubleMat2MetaData());
    registerMetaData(new DoubleMat4MetaData());
    registerMetaData(new DoubleMat3MetaData());
    registerMetaData(new VectorMetaData<2,float>());
    registerMetaData(new VectorMetaData<3,float>());
    registerMetaData(new VectorMetaData<4,float>());
    registerMetaData(new VectorMetaData<2,double>());
    registerMetaData(new VectorMetaData<3,double>());
    registerMetaData(new VectorMetaData<4,double>());
    registerMetaData(new VectorMetaData<2,int>());
    registerMetaData(new VectorMetaData<3,int>());
    registerMetaData(new VectorMetaData<4,int>());
    registerMetaData(new VectorMetaData<2,unsigned int>());
    registerMetaData(new VectorMetaData<3,unsigned int>());
    registerMetaData(new VectorMetaData<4,unsigned int>());
    registerMetaData(new MatrixMetaData<2,float>());
    registerMetaData(new MatrixMetaData<3,float>());
    registerMetaData(new MatrixMetaData<4,float>());
    registerMetaData(new MatrixMetaData<2,double>());
    registerMetaData(new MatrixMetaData<3,double>());
    registerMetaData(new MatrixMetaData<4,double>());
    registerMetaData(new PositionMetaData());
    registerMetaData(new ProcessorMetaData());
    registerMetaData(new ProcessorWidgetMetaData());
    registerMetaData(new PropertyEditorWidgetMetaData());
    // Register Capabilities
    registerCapabilities(new SystemCapabilities());
    // Register Data readers
    registerDataReader(new DatVolumeReader());
    registerDataReader(new IvfVolumeReader());
    registerDataReader(new RawVolumeReader());
    // Register Data writers
    registerDataWriter(new DatVolumeWriter());
    registerDataWriter(new IvfVolumeWriter());
    // Register Settings
    registerSettings(new SystemSettings());
    registerSettings(new LinkSettings());
    // Register Ports
    registerPort(MeshInport);
    registerPort(MeshMultiInport);
    registerPort(MeshOutport);
    registerPort(ImageInport);
    registerPort(ImageOutport);
    registerPort(VolumeInport);
    registerPort(VolumeOutport);
    // Register PortInspectors
    registerPortInspector("org.inviwo.ImageOutport", InviwoApplication::getPtr()->getPath(InviwoApplication::PATH_PORTINSPECTORS, "/imageportinspector.inv"));
    registerPortInspector("org.inviwo.VolumeOutport", InviwoApplication::getPtr()->getPath(InviwoApplication::PATH_PORTINSPECTORS, "/volumeportinspector.inv"));
    registerPortInspector("org.inviwo.GeometryOutport", InviwoApplication::getPtr()->getPath(InviwoApplication::PATH_PORTINSPECTORS, "/geometryportinspector.inv"));
    
    //registerProperty(EventProperty); TODO fix "default" contructor with 2 args...
    registerProperty(CompositeProperty);
    registerProperty(AdvancedMaterialProperty);
    registerProperty(BoolProperty);
    registerProperty(ButtonProperty);
    registerProperty(CameraProperty);
    registerProperty(DirectoryProperty);
    registerProperty(DoubleMat2Property);
    registerProperty(DoubleMat3Property);
    registerProperty(DoubleMat4Property);
    registerProperty(DoubleProperty);
    registerProperty(DoubleVec2Property);
    registerProperty(DoubleVec3Property);
    registerProperty(DoubleVec4Property);
    registerProperty(FileProperty);
    registerProperty(FloatMat2Property);
    registerProperty(FloatMat3Property);
    registerProperty(FloatMat4Property);
    registerProperty(FloatMinMaxProperty);
    registerProperty(FloatProperty);
    registerProperty(FloatVec2Property);
    registerProperty(FloatVec3Property);
    registerProperty(FloatVec4Property);
    registerProperty(ImageEditorProperty);
    registerProperty(IntMinMaxProperty);
    registerProperty(IntProperty);
    registerProperty(IntVec2Property);
    registerProperty(IntVec3Property);
    registerProperty(IntVec4Property);
    registerProperty(OptionPropertyDouble);
    registerProperty(OptionPropertyFloat);
    registerProperty(OptionPropertyInt);
    registerProperty(OptionPropertyString);
    registerProperty(PlaneProperty);
    registerProperty(PositionProperty);
    registerProperty(SimpleLightingProperty);
    registerProperty(SimpleRaycastingProperty);
    registerProperty(StringProperty);
    registerProperty(TransferFunctionProperty);
    registerProperty(VolumeIndicatorProperty);


    // START OF AUTOGENERATED CODE 
    // The following code has been autogenerated using createconverters.py 
    typedef OrdinalPropertyConverter<FloatProperty, IntProperty> FloatPropertyToIntPropertyConverter;
    typedef OrdinalPropertyConverter<FloatProperty, Int64Property> FloatPropertyToInt64PropertyConverter;
    typedef OrdinalPropertyConverter<FloatProperty, DoubleProperty> FloatPropertyToDoublePropertyConverter;
    typedef OrdinalPropertyConverter<IntProperty, FloatProperty> IntPropertyToFloatPropertyConverter;
    typedef OrdinalPropertyConverter<IntProperty, Int64Property> IntPropertyToInt64PropertyConverter;
    typedef OrdinalPropertyConverter<IntProperty, DoubleProperty> IntPropertyToDoublePropertyConverter;
    typedef OrdinalPropertyConverter<Int64Property, FloatProperty> Int64PropertyToFloatPropertyConverter;
    typedef OrdinalPropertyConverter<Int64Property, IntProperty> Int64PropertyToIntPropertyConverter;
    typedef OrdinalPropertyConverter<Int64Property, DoubleProperty> Int64PropertyToDoublePropertyConverter;
    typedef OrdinalPropertyConverter<DoubleProperty, FloatProperty> DoublePropertyToFloatPropertyConverter;
    typedef OrdinalPropertyConverter<DoubleProperty, IntProperty> DoublePropertyToIntPropertyConverter;
    typedef OrdinalPropertyConverter<DoubleProperty, Int64Property> DoublePropertyToInt64PropertyConverter;
    typedef OrdinalPropertyConverter<FloatVec2Property, DoubleVec2Property> FloatVec2PropertyToDoubleVec2PropertyConverter;
    typedef OrdinalPropertyConverter<FloatVec2Property, IntVec2Property> FloatVec2PropertyToIntVec2PropertyConverter;
    typedef OrdinalPropertyConverter<DoubleVec2Property, FloatVec2Property> DoubleVec2PropertyToFloatVec2PropertyConverter;
    typedef OrdinalPropertyConverter<DoubleVec2Property, IntVec2Property> DoubleVec2PropertyToIntVec2PropertyConverter;
    typedef OrdinalPropertyConverter<IntVec2Property, FloatVec2Property> IntVec2PropertyToFloatVec2PropertyConverter;
    typedef OrdinalPropertyConverter<IntVec2Property, DoubleVec2Property> IntVec2PropertyToDoubleVec2PropertyConverter;
    typedef OrdinalPropertyConverter<FloatVec3Property, DoubleVec3Property> FloatVec3PropertyToDoubleVec3PropertyConverter;
    typedef OrdinalPropertyConverter<FloatVec3Property, IntVec3Property> FloatVec3PropertyToIntVec3PropertyConverter;
    typedef OrdinalPropertyConverter<DoubleVec3Property, FloatVec3Property> DoubleVec3PropertyToFloatVec3PropertyConverter;
    typedef OrdinalPropertyConverter<DoubleVec3Property, IntVec3Property> DoubleVec3PropertyToIntVec3PropertyConverter;
    typedef OrdinalPropertyConverter<IntVec3Property, FloatVec3Property> IntVec3PropertyToFloatVec3PropertyConverter;
    typedef OrdinalPropertyConverter<IntVec3Property, DoubleVec3Property> IntVec3PropertyToDoubleVec3PropertyConverter;
    typedef OrdinalPropertyConverter<FloatVec4Property, DoubleVec4Property> FloatVec4PropertyToDoubleVec4PropertyConverter;
    typedef OrdinalPropertyConverter<FloatVec4Property, IntVec4Property> FloatVec4PropertyToIntVec4PropertyConverter;
    typedef OrdinalPropertyConverter<DoubleVec4Property, FloatVec4Property> DoubleVec4PropertyToFloatVec4PropertyConverter;
    typedef OrdinalPropertyConverter<DoubleVec4Property, IntVec4Property> DoubleVec4PropertyToIntVec4PropertyConverter;
    typedef OrdinalPropertyConverter<IntVec4Property, FloatVec4Property> IntVec4PropertyToFloatVec4PropertyConverter;
    typedef OrdinalPropertyConverter<IntVec4Property, DoubleVec4Property> IntVec4PropertyToDoubleVec4PropertyConverter;

    registerPropertyConverter(ScalarToStringConverter<FloatProperty>);
    registerPropertyConverter(ScalarToStringConverter<IntProperty>);
    registerPropertyConverter(ScalarToStringConverter<Int64Property>);
    registerPropertyConverter(ScalarToStringConverter<DoubleProperty>);
    registerPropertyConverter(VectorToStringConverter<FloatVec2Property>);
    registerPropertyConverter(VectorToStringConverter<DoubleVec2Property>);
    registerPropertyConverter(VectorToStringConverter<IntVec2Property>);
    registerPropertyConverter(VectorToStringConverter<FloatVec3Property>);
    registerPropertyConverter(VectorToStringConverter<DoubleVec3Property>);
    registerPropertyConverter(VectorToStringConverter<IntVec3Property>);
    registerPropertyConverter(VectorToStringConverter<FloatVec4Property>);
    registerPropertyConverter(VectorToStringConverter<DoubleVec4Property>);
    registerPropertyConverter(VectorToStringConverter<IntVec4Property>);

    registerPropertyConverter(FloatPropertyToIntPropertyConverter);
    registerPropertyConverter(FloatPropertyToInt64PropertyConverter);
    registerPropertyConverter(FloatPropertyToDoublePropertyConverter);
    registerPropertyConverter(IntPropertyToFloatPropertyConverter);
    registerPropertyConverter(IntPropertyToInt64PropertyConverter);
    registerPropertyConverter(IntPropertyToDoublePropertyConverter);
    registerPropertyConverter(Int64PropertyToFloatPropertyConverter);
    registerPropertyConverter(Int64PropertyToIntPropertyConverter);
    registerPropertyConverter(Int64PropertyToDoublePropertyConverter);
    registerPropertyConverter(DoublePropertyToFloatPropertyConverter);
    registerPropertyConverter(DoublePropertyToIntPropertyConverter);
    registerPropertyConverter(DoublePropertyToInt64PropertyConverter);
    registerPropertyConverter(FloatVec2PropertyToDoubleVec2PropertyConverter);
    registerPropertyConverter(FloatVec2PropertyToIntVec2PropertyConverter);
    registerPropertyConverter(DoubleVec2PropertyToFloatVec2PropertyConverter);
    registerPropertyConverter(DoubleVec2PropertyToIntVec2PropertyConverter);
    registerPropertyConverter(IntVec2PropertyToFloatVec2PropertyConverter);
    registerPropertyConverter(IntVec2PropertyToDoubleVec2PropertyConverter);
    registerPropertyConverter(FloatVec3PropertyToDoubleVec3PropertyConverter);
    registerPropertyConverter(FloatVec3PropertyToIntVec3PropertyConverter);
    registerPropertyConverter(DoubleVec3PropertyToFloatVec3PropertyConverter);
    registerPropertyConverter(DoubleVec3PropertyToIntVec3PropertyConverter);
    registerPropertyConverter(IntVec3PropertyToFloatVec3PropertyConverter);
    registerPropertyConverter(IntVec3PropertyToDoubleVec3PropertyConverter);
    registerPropertyConverter(FloatVec4PropertyToDoubleVec4PropertyConverter);
    registerPropertyConverter(FloatVec4PropertyToIntVec4PropertyConverter);
    registerPropertyConverter(DoubleVec4PropertyToFloatVec4PropertyConverter);
    registerPropertyConverter(DoubleVec4PropertyToIntVec4PropertyConverter);
    registerPropertyConverter(IntVec4PropertyToFloatVec4PropertyConverter);
    registerPropertyConverter(IntVec4PropertyToDoubleVec4PropertyConverter);

    // END OF AUTOGENERATED CODE 

}