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)); }
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)); }
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 }