Remove return values from initialize and deinitialize functions

This commit is contained in:
Alexander Bock
2017-07-28 17:51:25 -04:00
parent acd95b05ab
commit 31377466ba
66 changed files with 198 additions and 320 deletions

View File

@@ -22,10 +22,7 @@ return {
GeometryFile = "obj/67P_rotated_5_130.obj",
Magnification = 0,
},
Textures = {
Color = "textures/gray.jpg",
-- Color = "textures/may9_map.jpg",
},
ColorTexture = "textures/gray.jpg",
Projection = {
Sequence = "rosettaimages",
SequenceType = "image-sequence",

View File

@@ -64,8 +64,8 @@ public:
Renderable(const ghoul::Dictionary& dictionary);
virtual ~Renderable();
virtual bool initialize() = 0;
virtual bool deinitialize() = 0;
virtual void initialize();
virtual void deinitialize();
virtual bool isReady() const = 0;
bool isEnabled() const;

View File

@@ -75,8 +75,8 @@ public:
static std::unique_ptr<SceneGraphNode> createFromDictionary(const ghoul::Dictionary& dictionary);
bool initialize();
bool deinitialize();
void initialize();
void deinitialize();
void traversePreOrder(std::function<void(SceneGraphNode*)> fn);
void traversePostOrder(std::function<void(SceneGraphNode*)> fn);

View File

@@ -156,7 +156,7 @@ bool RenderableModel::isReady() const {
return _programObject && _texture;
}
bool RenderableModel::initialize() {
void RenderableModel::initialize() {
_programObject = OsEng.renderEngine().buildRenderProgram(
"ModelProgram",
"${MODULE_BASE}/shaders/model_vs.glsl",
@@ -165,13 +165,10 @@ bool RenderableModel::initialize() {
loadTexture();
bool completeSuccess = true;
completeSuccess &= (_texture != nullptr);
completeSuccess &= _geometry->initialize(this);
return completeSuccess;
_geometry->initialize(this);
}
bool RenderableModel::deinitialize() {
void RenderableModel::deinitialize() {
if (_geometry) {
_geometry->deinitialize();
_geometry = nullptr;
@@ -182,8 +179,6 @@ bool RenderableModel::deinitialize() {
OsEng.renderEngine().removeRenderProgram(_programObject);
_programObject = nullptr;
}
return true;
}
void RenderableModel::render(const RenderData& data, RendererTasks&) {

View File

@@ -51,8 +51,8 @@ class RenderableModel : public Renderable {
public:
RenderableModel(const ghoul::Dictionary& dictionary);
bool initialize() override;
bool deinitialize() override;
void initialize() override;
void deinitialize() override;
bool isReady() const override;

View File

@@ -179,7 +179,7 @@ bool RenderablePlane::isReady() const {
return _shader && _texture;
}
bool RenderablePlane::initialize() {
void RenderablePlane::initialize() {
glGenVertexArrays(1, &_quad); // generate array
glGenBuffers(1, &_vertexPositionBuffer); // generate buffer
createPlane();
@@ -190,11 +190,9 @@ bool RenderablePlane::initialize() {
);
loadTexture();
return isReady();
}
bool RenderablePlane::deinitialize() {
void RenderablePlane::deinitialize() {
glDeleteVertexArrays(1, &_quad);
_quad = 0;
@@ -208,8 +206,6 @@ bool RenderablePlane::deinitialize() {
renderEngine.removeRenderProgram(_shader);
_shader = nullptr;
}
return true;
}
void RenderablePlane::render(const RenderData& data, RendererTasks&) {

View File

@@ -54,8 +54,8 @@ class RenderablePlane : public Renderable {
public:
RenderablePlane(const ghoul::Dictionary& dictionary);
bool initialize() override;
bool deinitialize() override;
void initialize() override;
void deinitialize() override;
bool isReady() const override;

View File

@@ -202,7 +202,7 @@ bool RenderableSphere::isReady() const {
return _shader && _texture;
}
bool RenderableSphere::initialize() {
void RenderableSphere::initialize() {
_sphere = std::make_unique<PowerScaledSphere>(
PowerScaledScalar::CreatePSS(_size), _segments
);
@@ -214,19 +214,15 @@ bool RenderableSphere::initialize() {
"${MODULE_BASE}/shaders/sphere_fs.glsl");
loadTexture();
return isReady();
}
bool RenderableSphere::deinitialize() {
void RenderableSphere::deinitialize() {
_texture = nullptr;
if (_shader) {
OsEng.renderEngine().removeRenderProgram(_shader);
_shader = nullptr;
}
return true;
}
void RenderableSphere::render(const RenderData& data, RendererTasks&) {

View File

@@ -49,8 +49,8 @@ class RenderableSphere : public Renderable {
public:
RenderableSphere(const ghoul::Dictionary& dictionary);
bool initialize() override;
bool deinitialize() override;
void initialize() override;
void deinitialize() override;
bool isReady() const override;

View File

@@ -179,7 +179,7 @@ bool RenderableSphericalGrid::isReady() const {
return ready;
}
bool RenderableSphericalGrid::deinitialize() {
void RenderableSphericalGrid::deinitialize() {
glDeleteVertexArrays(1,&_vaoID);
_vaoID = 0;
@@ -188,11 +188,9 @@ bool RenderableSphericalGrid::deinitialize() {
glDeleteBuffers(1,&_iBufferID);
_iBufferID = 0;
return true;
}
bool RenderableSphericalGrid::initialize() {
void RenderableSphericalGrid::initialize() {
_gridProgram = OsEng.renderEngine().buildRenderProgram(
"GridProgram",
"${MODULE_BASE}/shaders/grid_vs.glsl",
@@ -208,8 +206,6 @@ bool RenderableSphericalGrid::initialize() {
glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, _iBufferID);
glEnableVertexAttribArray(0);
glBindVertexArray(0);
return true;
}
void RenderableSphericalGrid::render(const RenderData& data, RendererTasks&){

View File

@@ -48,8 +48,8 @@ public:
RenderableSphericalGrid(const ghoul::Dictionary& dictionary);
~RenderableSphericalGrid();
bool initialize() override;
bool deinitialize() override;
void initialize() override;
void deinitialize() override;
bool isReady() const override;

View File

@@ -217,7 +217,7 @@ RenderableTrail::RenderableTrail(const ghoul::Dictionary& dictionary)
addProperty(_renderingModes);
}
bool RenderableTrail::initialize() {
void RenderableTrail::initialize() {
RenderEngine& renderEngine = OsEng.renderEngine();
_programObject = renderEngine.buildRenderProgram(
"EphemerisProgram",
@@ -226,17 +226,14 @@ bool RenderableTrail::initialize() {
);
setRenderBin(Renderable::RenderBin::Overlay);
return true;
}
bool RenderableTrail::deinitialize() {
void RenderableTrail::deinitialize() {
RenderEngine& renderEngine = OsEng.renderEngine();
if (_programObject) {
renderEngine.removeRenderProgram(_programObject);
_programObject = nullptr;
}
return true;
}
bool RenderableTrail::isReady() const {

View File

@@ -73,8 +73,8 @@ class RenderableTrail : public Renderable {
public:
~RenderableTrail() = default;
bool initialize() override;
bool deinitialize() override;
void initialize() override;
void deinitialize() override;
bool isReady() const override;

View File

@@ -169,22 +169,20 @@ RenderableTrailOrbit::RenderableTrailOrbit(const ghoul::Dictionary& dictionary)
_primaryRenderInformation.sorting = RenderInformation::VertexSorting::NewestFirst;
}
bool RenderableTrailOrbit::initialize() {
bool res = RenderableTrail::initialize();
void RenderableTrailOrbit::initialize() {
RenderableTrail::initialize();
glGenVertexArrays(1, &_primaryRenderInformation._vaoID);
glGenBuffers(1, &_primaryRenderInformation._vBufferID);
glGenBuffers(1, &_primaryRenderInformation._iBufferID);
return res;
}
bool RenderableTrailOrbit::deinitialize() {
void RenderableTrailOrbit::deinitialize() {
glDeleteVertexArrays(1, &_primaryRenderInformation._vaoID);
glDeleteBuffers(1, &_primaryRenderInformation._vBufferID);
glDeleteBuffers(1, &_primaryRenderInformation._iBufferID);
return RenderableTrail::deinitialize();
RenderableTrail::deinitialize();
}
void RenderableTrailOrbit::update(const UpdateData& data) {

View File

@@ -48,8 +48,8 @@ class RenderableTrailOrbit : public RenderableTrail {
public:
explicit RenderableTrailOrbit(const ghoul::Dictionary& dictionary);
bool initialize() override;
bool deinitialize() override;
void initialize() override;
void deinitialize() override;
void update(const UpdateData& data) override;

View File

@@ -189,8 +189,8 @@ RenderableTrailTrajectory::RenderableTrailTrajectory(const ghoul::Dictionary& di
_primaryRenderInformation.sorting = RenderInformation::VertexSorting::OldestFirst;
}
bool RenderableTrailTrajectory::initialize() {
bool res = RenderableTrail::initialize();
void RenderableTrailTrajectory::initialize() {
RenderableTrail::initialize();
// We don't need an index buffer, so we keep it at the default value of 0
glGenVertexArrays(1, &_primaryRenderInformation._vaoID);
@@ -201,18 +201,16 @@ bool RenderableTrailTrajectory::initialize() {
glGenVertexArrays(1, &_floatingRenderInformation._vaoID);
glGenBuffers(1, &_floatingRenderInformation._vBufferID);
_floatingRenderInformation.sorting = RenderInformation::VertexSorting::OldestFirst;
return res;
}
bool RenderableTrailTrajectory::deinitialize() {
void RenderableTrailTrajectory::deinitialize() {
glDeleteVertexArrays(1, &_primaryRenderInformation._vaoID);
glDeleteBuffers(1, &_primaryRenderInformation._vBufferID);
glDeleteVertexArrays(1, &_floatingRenderInformation._vaoID);
glDeleteBuffers(1, &_floatingRenderInformation._vBufferID);
return RenderableTrail::deinitialize();
RenderableTrail::deinitialize();
}
void RenderableTrailTrajectory::update(const UpdateData& data) {

View File

@@ -53,8 +53,8 @@ class RenderableTrailTrajectory : public RenderableTrail {
public:
explicit RenderableTrailTrajectory(const ghoul::Dictionary& dictionary);
bool initialize() override;
bool deinitialize() override;
void initialize() override;
void deinitialize() override;
void update(const UpdateData& data) override;

View File

@@ -190,7 +190,7 @@ bool RenderableDebugPlane::isReady() const {
return ready;
}
bool RenderableDebugPlane::initialize() {
void RenderableDebugPlane::initialize() {
glGenVertexArrays(1, &_quad); // generate array
glGenBuffers(1, &_vertexPositionBuffer); // generate buffer
createPlane();
@@ -202,11 +202,9 @@ bool RenderableDebugPlane::initialize() {
"${MODULE_BASE}/shaders/plane_fs.glsl"
);
}
return isReady();
}
bool RenderableDebugPlane::deinitialize() {
void RenderableDebugPlane::deinitialize() {
glDeleteVertexArrays(1, &_quad);
_quad = 0;
@@ -218,8 +216,6 @@ bool RenderableDebugPlane::deinitialize() {
renderEngine.removeRenderProgram(_shader);
_shader = nullptr;
}
return true;
}
void RenderableDebugPlane::render(const RenderData& data, RendererTasks&) {

View File

@@ -49,8 +49,8 @@ public:
RenderableDebugPlane(const ghoul::Dictionary& dictionary);
~RenderableDebugPlane();
bool initialize() override;
bool deinitialize() override;
void initialize() override;
void deinitialize() override;
bool isReady() const override;

View File

@@ -232,12 +232,9 @@ bool RenderableFieldlines::isReady() const {
return programReady && vectorFieldReady && fieldlineReady && seedPointsReady;
}
bool RenderableFieldlines::initialize() {
if (_vectorFieldInfo.empty() ||
_fieldlineInfo.empty() ||
_seedPointsInfo.empty())
{
return false;
void RenderableFieldlines::initialize() {
if (_vectorFieldInfo.empty() || _fieldlineInfo.empty() || _seedPointsInfo.empty()) {
throw ghoul::RuntimeError("Error initializing");
}
_program = OsEng.renderEngine().buildRenderProgram(
@@ -246,14 +243,9 @@ bool RenderableFieldlines::initialize() {
"${MODULE_FIELDLINES}/shaders/fieldline_fs.glsl",
"${MODULE_FIELDLINES}/shaders/fieldline_gs.glsl"
);
if (!_program)
return false;
return true;
}
bool RenderableFieldlines::deinitialize() {
void RenderableFieldlines::deinitialize() {
glDeleteVertexArrays(1, &_fieldlineVAO);
_fieldlineVAO = 0;
glDeleteBuffers(1, &_vertexPositionBuffer);
@@ -264,8 +256,6 @@ bool RenderableFieldlines::deinitialize() {
renderEngine.removeRenderProgram(_program);
_program = nullptr;
}
return true;
}
void RenderableFieldlines::render(const RenderData& data, RendererTasks&) {

View File

@@ -45,8 +45,8 @@ class RenderableFieldlines : public Renderable {
public:
RenderableFieldlines(const ghoul::Dictionary& dictionary);
bool initialize() override;
bool deinitialize() override;
void initialize() override;
void deinitialize() override;
bool isReady() const override;

View File

@@ -153,7 +153,7 @@ namespace openspace {
RenderableGalaxy::~RenderableGalaxy() {}
bool RenderableGalaxy::initialize() {
void RenderableGalaxy::initialize() {
// Aspect is currently hardcoded to cubic voxels.
_aspect = static_cast<glm::vec3>(_volumeDimensions);
_aspect = _aspect / std::max(std::max(_aspect.x, _aspect.y), _aspect.z);
@@ -178,7 +178,7 @@ bool RenderableGalaxy::initialize() {
OsEng.renderEngine().raycasterManager().attachRaycaster(*_raycaster.get());
std::function<void(bool)> onChange = [&](bool enabled) {
auto onChange = [&](bool enabled) {
if (enabled) {
OsEng.renderEngine().raycasterManager().attachRaycaster(*_raycaster.get());
}
@@ -273,16 +273,13 @@ bool RenderableGalaxy::initialize() {
glBindBuffer(GL_ARRAY_BUFFER, 0);
glBindVertexArray(0);
return true;
}
bool RenderableGalaxy::deinitialize() {
void RenderableGalaxy::deinitialize() {
if (_raycaster) {
OsEng.renderEngine().raycasterManager().detachRaycaster(*_raycaster.get());
_raycaster = nullptr;
}
return true;
}
bool RenderableGalaxy::isReady() const {

View File

@@ -41,8 +41,8 @@ public:
RenderableGalaxy(const ghoul::Dictionary& dictionary);
~RenderableGalaxy();
bool initialize() override;
bool deinitialize() override;
void initialize() override;
void deinitialize() override;
bool isReady() const override;
void render(const RenderData& data, RendererTasks& tasks) override;
void update(const UpdateData& data) override;

View File

@@ -94,14 +94,6 @@ ChunkedLodGlobe::ChunkedLodGlobe(const RenderableGlobe& owner, size_t segmentsPe
// with a forward declaration
ChunkedLodGlobe::~ChunkedLodGlobe() {}
bool ChunkedLodGlobe::initialize() {
return true;
}
bool ChunkedLodGlobe::deinitialize() {
return true;
}
bool ChunkedLodGlobe::isReady() const {
return true;
}

View File

@@ -52,8 +52,6 @@ public:
std::shared_ptr<LayerManager> layerManager);
~ChunkedLodGlobe();
bool initialize() override;
bool deinitialize() override;
bool isReady() const override;
void render(const RenderData& data, RendererTasks& rendererTask) override;

View File

@@ -64,7 +64,7 @@ PointGlobe::~PointGlobe() {
glDeleteVertexArrays(1, &_vaoID);
}
bool PointGlobe::initialize() {
void PointGlobe::initialize() {
_programObject = OsEng.renderEngine().buildRenderProgram(
"PointGlobe",
"${MODULE_GLOBEBROWSING}/shaders/pointglobe_vs.glsl",
@@ -98,12 +98,11 @@ bool PointGlobe::initialize() {
glVertexAttribPointer(0, 2, GL_FLOAT, GL_FALSE, sizeof(glm::vec2), 0);
glBindVertexArray(0);
return isReady();
}
bool PointGlobe::deinitialize() {
return true;
void PointGlobe::deinitialize() {
glDeleteVertexArrays(1, &_vaoID);
glDeleteBuffers(1, &_vertexBufferID);
}
bool PointGlobe::isReady() const {

View File

@@ -41,8 +41,8 @@ public:
PointGlobe(const RenderableGlobe& owner);
virtual ~PointGlobe();
bool initialize() override;
bool deinitialize() override;
void initialize() override;
void deinitialize() override;
bool isReady() const override;
void render(const RenderData& data, RendererTasks& rendererTask) override;

View File

@@ -260,12 +260,12 @@ RenderableGlobe::RenderableGlobe(const ghoul::Dictionary& dictionary)
//addPropertySubOwner(_pointGlobe.get());
}
bool RenderableGlobe::initialize() {
return _distanceSwitch.initialize();
void RenderableGlobe::initialize() {
_distanceSwitch.initialize();
}
bool RenderableGlobe::deinitialize() {
return _distanceSwitch.deinitialize();
void RenderableGlobe::deinitialize() {
_distanceSwitch.deinitialize();
}
bool RenderableGlobe::isReady() const {

View File

@@ -81,8 +81,8 @@ public:
RenderableGlobe(const ghoul::Dictionary& dictionary);
~RenderableGlobe() = default;
bool initialize() override;
bool deinitialize() override;
void initialize() override;
void deinitialize() override;
bool isReady() const override;
void render(const RenderData& data, RendererTasks& rendererTask) override;

View File

@@ -43,20 +43,20 @@ DataPlane::DataPlane(const ghoul::Dictionary& dictionary)
DataPlane::~DataPlane(){}
bool DataPlane::initialize(){
void DataPlane::initialize() {
IswaCygnet::initialize();
if(_group){
if (_group) {
_dataProcessor = _group->dataProcessor();
subscribeToGroup();
}else{
} else {
_dataProcessor = std::make_shared<DataProcessorText>();
//If autofiler is on, background values property should be hidden
_autoFilter.onChange([this](){
_autoFilter.onChange([this]() {
// If autofiler is selected, use _dataProcessor to set backgroundValues
// and unregister backgroundvalues property.
if(_autoFilter.value()){
if (_autoFilter.value()) {
_backgroundValues.setValue(_dataProcessor->filterValues());
_backgroundValues.setVisibility(properties::Property::Visibility::Hidden);
//_backgroundValues.setVisible(false);
@@ -73,8 +73,6 @@ bool DataPlane::initialize(){
setPropertyCallbacks();
_autoFilter.setValue(true);
return true;
}
bool DataPlane::createGeometry() {

View File

@@ -40,7 +40,7 @@ public:
DataPlane(const ghoul::Dictionary& dictionary);
~DataPlane();
bool initialize() override;
void initialize() override;
private:

View File

@@ -54,22 +54,22 @@ DataSphere::DataSphere(const ghoul::Dictionary& dictionary)
DataSphere::~DataSphere() {}
bool DataSphere::initialize() {
void DataSphere::initialize() {
IswaCygnet::initialize();
//rotate 90 degrees because of the texture coordinates in PowerScaledSphere
_rotation = glm::rotate(_rotation, (float)M_PI_2, glm::vec3(1.0, 0.0, 0.0));
if(_group){
if (_group) {
_dataProcessor = _group->dataProcessor();
subscribeToGroup();
}else{
} else {
_dataProcessor = std::make_shared<DataProcessorJson>();
//If autofiler is on, background values property should be hidden
_autoFilter.onChange([this](){
_autoFilter.onChange([this]() {
// If autofiler is selected, use _dataProcessor to set backgroundValues
// and unregister backgroundvalues property.
if(_autoFilter.value()){
if (_autoFilter.value()) {
_backgroundValues.setValue(_dataProcessor->filterValues());
_backgroundValues.setVisibility(properties::Property::Visibility::Hidden);
//_backgroundValues.setVisible(false);
@@ -86,8 +86,6 @@ bool DataSphere::initialize() {
setPropertyCallbacks();
_useHistogram.setValue(true);
_autoFilter.setValue(true);
return true;
}
bool DataSphere::createGeometry() {

View File

@@ -41,7 +41,7 @@ public:
DataSphere(const ghoul::Dictionary& dictionary);
~DataSphere();
bool initialize() override;
void initialize() override;
protected:
/**

View File

@@ -116,13 +116,13 @@ IswaCygnet::IswaCygnet(const ghoul::Dictionary& dictionary)
IswaCygnet::~IswaCygnet(){}
bool IswaCygnet::initialize(){
void IswaCygnet::initialize() {
_textures.push_back(nullptr);
if(!_data->groupName.empty()){
if (!_data->groupName.empty()) {
initializeGroup();
}else{
_delete.onChange([this](){
} else {
_delete.onChange([this]() {
deinitialize();
OsEng.scriptEngine().queueScript(
"openspace.removeSceneGraphNode('" + name() + "')",
@@ -135,19 +135,16 @@ bool IswaCygnet::initialize(){
createGeometry();
createShader();
downloadTextureResource();
return true;
}
bool IswaCygnet::deinitialize(){
if(!_data->groupName.empty())
void IswaCygnet::deinitialize() {
if (!_data->groupName.empty()) {
_group->groupEvent()->unsubscribe(name());
}
unregisterProperties();
destroyGeometry();
destroyShader();
return true;
}
bool IswaCygnet::isReady() const{

View File

@@ -70,8 +70,8 @@ public:
IswaCygnet(const ghoul::Dictionary& dictionary);
~IswaCygnet();
virtual bool initialize();
virtual bool deinitialize();
void initialize() override;
void deinitialize() override;
virtual bool isReady() const;
void render(const RenderData& data, RendererTasks& rendererTask);
void update(const UpdateData& data);

View File

@@ -100,15 +100,13 @@ KameleonPlane::KameleonPlane(const ghoul::Dictionary& dictionary)
KameleonPlane::~KameleonPlane() {}
bool KameleonPlane::deinitialize() {
void KameleonPlane::deinitialize() {
IswaCygnet::deinitialize();
_fieldlines.set(std::vector<int>());
return true;
}
bool KameleonPlane::initialize(){
if(!_data->groupName.empty()){
void KameleonPlane::initialize() {
if (!_data->groupName.empty()) {
initializeGroup();
}
@@ -174,8 +172,6 @@ bool KameleonPlane::initialize(){
_group->updateGroup();
}
updateTextureResource();
return true;
}
bool KameleonPlane::createGeometry() {

View File

@@ -43,8 +43,8 @@ public:
KameleonPlane(const ghoul::Dictionary& dictionary);
~KameleonPlane();
bool initialize() override;
bool deinitialize() override;
void initialize() override;
void deinitialize() override;
private:

View File

@@ -250,7 +250,7 @@ RenderableKameleonVolume::RenderableKameleonVolume(const ghoul::Dictionary& dict
RenderableKameleonVolume::~RenderableKameleonVolume() {}
bool RenderableKameleonVolume::initialize() {
void RenderableKameleonVolume::initialize() {
load();
_volumeTexture->uploadTexture();
@@ -305,7 +305,6 @@ bool RenderableKameleonVolume::initialize() {
addProperty(_gridType);
addProperty(_cache);
addPropertySubOwner(_clipPlanes.get());
return true;
}
void RenderableKameleonVolume::updateRaycasterModelTransform() {
@@ -443,12 +442,11 @@ void RenderableKameleonVolume::storeRaw(const std::string& path) {
writer.write(*_rawVolume);
}
bool RenderableKameleonVolume::deinitialize() {
void RenderableKameleonVolume::deinitialize() {
if (_raycaster) {
OsEng.renderEngine().raycasterManager().detachRaycaster(*_raycaster.get());
_raycaster = nullptr;
}
return true;
}
bool RenderableKameleonVolume::isReady() const {

View File

@@ -49,8 +49,8 @@ public:
RenderableKameleonVolume(const ghoul::Dictionary& dictionary);
~RenderableKameleonVolume();
bool initialize() override;
bool deinitialize() override;
void initialize() override;
void deinitialize() override;
bool isReady() const override;
void render(const RenderData& data, RendererTasks& tasks) override;
void update(const UpdateData& data) override;

View File

@@ -419,8 +419,7 @@ bool RenderableMultiresVolume::setSelectorType(Selector selector) {
return false;
}
bool RenderableMultiresVolume::initialize() {
void RenderableMultiresVolume::initialize() {
bool success = _tsp && _tsp->load();
unsigned int maxNumBricks = _tsp->header().xNumBricks_ * _tsp->header().yNumBricks_ * _tsp->header().zNumBricks_;
@@ -477,20 +476,20 @@ bool RenderableMultiresVolume::initialize() {
onEnabledChange(onChange);
return success;
if (!success) {
throw ghoul::RuntimeError("Error during initialization");
}
}
bool RenderableMultiresVolume::deinitialize() {
void RenderableMultiresVolume::deinitialize() {
_tsp = nullptr;
_transferFunction = nullptr;
return true;
}
bool RenderableMultiresVolume::isReady() const {
return true;
}
bool RenderableMultiresVolume::initializeSelector() {
int nHistograms = 50;
bool success = true;

View File

@@ -68,8 +68,8 @@ public:
bool setSelectorType(Selector selector);
bool initializeSelector();
bool initialize() override;
bool deinitialize() override;
void initialize() override;
void deinitialize() override;
bool isReady() const override;

View File

@@ -135,7 +135,7 @@ bool RenderableCrawlingLine::isReady() const {
return (_program != nullptr);
}
bool RenderableCrawlingLine::initialize() {
void RenderableCrawlingLine::initialize() {
RenderEngine& renderEngine = OsEng.renderEngine();
_program = renderEngine.buildRenderProgram(
"RenderableCrawlingLine",
@@ -164,11 +164,9 @@ bool RenderableCrawlingLine::initialize() {
);
glBindVertexArray(0);
return true;
}
bool RenderableCrawlingLine::deinitialize(){
void RenderableCrawlingLine::deinitialize(){
glDeleteVertexArrays(1, &_vao);
_vao = 0;
glDeleteBuffers(1, &_vbo);
@@ -179,8 +177,6 @@ bool RenderableCrawlingLine::deinitialize(){
renderEngine.removeRenderProgram(_program);
_program = nullptr;
}
return true;
}
void RenderableCrawlingLine::render(const RenderData& data, RendererTasks&) {

View File

@@ -38,8 +38,8 @@ class RenderableCrawlingLine : public Renderable {
public:
RenderableCrawlingLine(const ghoul::Dictionary& dictionary);
bool initialize() override;
bool deinitialize() override;
void initialize() override;
void deinitialize() override;
bool isReady() const override;

View File

@@ -297,7 +297,7 @@ RenderableFov::RenderableFov(const ghoul::Dictionary& dictionary)
addProperty(_colors.square);
}
bool RenderableFov::initialize() {
void RenderableFov::initialize() {
RenderEngine& renderEngine = OsEng.renderEngine();
_programObject = renderEngine.buildRenderProgram(
"FovProgram",
@@ -314,8 +314,10 @@ bool RenderableFov::initialize() {
res.shape == SpiceManager::FieldOfViewResult::Shape::Polygon ||
res.shape == SpiceManager::FieldOfViewResult::Shape::Rectangle;
if (!supportedShape) {
LWARNINGC("RenderableFov", "'" << _instrument.name << "' has unsupported shape");
return false;
throw ghoul::RuntimeError(
"'" + _instrument.name + "' has unsupported shape",
"RenderableFov"
);
}
_instrument.bounds = std::move(res.bounds);
@@ -405,11 +407,9 @@ bool RenderableFov::initialize() {
);
glBindVertexArray(0);
return true;
}
bool RenderableFov::deinitialize() {
void RenderableFov::deinitialize() {
OsEng.renderEngine().removeRenderProgram(_programObject);
_programObject = nullptr;
@@ -418,8 +418,6 @@ bool RenderableFov::deinitialize() {
glDeleteBuffers(1, &_fieldOfViewBounds.vbo);
glDeleteVertexArrays(1, &_fieldOfViewBounds.vao);
return true;
}
bool RenderableFov::isReady() const {

View File

@@ -49,8 +49,8 @@ class RenderableFov : public Renderable {
public:
RenderableFov(const ghoul::Dictionary& dictionary);
bool initialize() override;
bool deinitialize() override;
void initialize() override;
void deinitialize() override;
bool isReady() const override;

View File

@@ -182,9 +182,7 @@ bool RenderableModelProjection::isReady() const {
return ready;
}
bool RenderableModelProjection::initialize() {
bool completeSuccess = true;
void RenderableModelProjection::initialize() {
RenderEngine& renderEngine = OsEng.renderEngine();
_programObject = renderEngine.buildRenderProgram("ModelShader",
"${MODULE_NEWHORIZONS}/shaders/renderableModel_vs.glsl",
@@ -203,17 +201,15 @@ bool RenderableModelProjection::initialize() {
"${MODULE_NEWHORIZONS}/shaders/renderableModelDepth_fs.glsl");
completeSuccess &= loadTextures();
completeSuccess &= _projectionComponent.initializeGL();
loadTextures();
_projectionComponent.initializeGL();
float bs = boundingSphere();
completeSuccess &= _geometry->initialize(this);
_geometry->initialize(this);
setBoundingSphere(bs); // ignore bounding sphere set by geometry.
return completeSuccess;
}
bool RenderableModelProjection::deinitialize() {
void RenderableModelProjection::deinitialize() {
if (_geometry) {
_geometry->deinitialize();
}
@@ -225,8 +221,6 @@ bool RenderableModelProjection::deinitialize() {
OsEng.renderEngine().removeRenderProgram(_programObject);
_programObject = nullptr;
return true;
}
ghoul::opengl::Texture& RenderableModelProjection::baseTexture() const {

View File

@@ -55,8 +55,8 @@ public:
RenderableModelProjection(const ghoul::Dictionary& dictionary);
~RenderableModelProjection();
bool initialize() override;
bool deinitialize() override;
void initialize() override;
void deinitialize() override;
bool isReady() const override;

View File

@@ -94,27 +94,23 @@ bool RenderablePlaneProjection::isReady() const {
return _shader && _texture;
}
bool RenderablePlaneProjection::initialize() {
void RenderablePlaneProjection::initialize() {
glGenVertexArrays(1, &_quad); // generate array
glGenBuffers(1, &_vertexPositionBuffer); // generate buffer
// Plane program
if (_shader == nullptr) {
// Image Plane Program
RenderEngine& renderEngine = OsEng.renderEngine();
_shader = renderEngine.buildRenderProgram("Image Plane",
"${MODULE_BASE}/shaders/imageplane_vs.glsl",
"${MODULE_BASE}/shaders/imageplane_fs.glsl");
if (!_shader)
return false;
}
// Image Plane Program
RenderEngine& renderEngine = OsEng.renderEngine();
_shader = renderEngine.buildRenderProgram(
"Image Plane",
"${MODULE_BASE}/shaders/imageplane_vs.glsl",
"${MODULE_BASE}/shaders/imageplane_fs.glsl"
);
setTarget(_defaultTarget);
loadTexture();
return isReady();
}
bool RenderablePlaneProjection::deinitialize() {
void RenderablePlaneProjection::deinitialize() {
RenderEngine& renderEngine = OsEng.renderEngine();
if (_shader) {
renderEngine.removeRenderProgram(_shader);
@@ -126,7 +122,6 @@ bool RenderablePlaneProjection::deinitialize() {
glDeleteBuffers(1, &_vertexPositionBuffer);
_vertexPositionBuffer = 0;
_texture = nullptr;
return true;
}
void RenderablePlaneProjection::render(const RenderData& data, RendererTasks&) {

View File

@@ -55,8 +55,8 @@ public:
RenderablePlaneProjection(const ghoul::Dictionary& dictionary);
~RenderablePlaneProjection();
bool initialize() override;
bool deinitialize() override;
void initialize() override;
void deinitialize() override;
bool isReady() const override;

View File

@@ -203,9 +203,7 @@ RenderablePlanetProjection::RenderablePlanetProjection(const ghoul::Dictionary&
RenderablePlanetProjection::~RenderablePlanetProjection() {}
bool RenderablePlanetProjection::initialize() {
bool completeSuccess = true;
void RenderablePlanetProjection::initialize() {
_programObject = OsEng.renderEngine().buildRenderProgram(
"projectiveProgram",
"${MODULE_NEWHORIZONS}/shaders/renderablePlanet_vs.glsl",
@@ -218,41 +216,37 @@ bool RenderablePlanetProjection::initialize() {
"${MODULE_NEWHORIZONS}/shaders/renderablePlanetProjection_fs.glsl"
);
completeSuccess &= loadTextures();
completeSuccess &= _projectionComponent.initializeGL();
completeSuccess &= _geometry->initialize(this);
loadTextures();
_projectionComponent.initializeGL();
_geometry->initialize(this);
if (completeSuccess) {
//completeSuccess &= auxiliaryRendertarget();
// SCREEN-QUAD
const GLfloat size = 1.f;
const GLfloat w = 1.f;
const GLfloat vertex_data[] = {
-size, -size, 0.f, w, 0.f, 0.f,
size, size, 0.f, w, 1.f, 1.f,
-size, size, 0.f, w, 0.f, 1.f,
-size, -size, 0.f, w, 0.f, 0.f,
size, -size, 0.f, w, 1.f, 0.f,
size, size, 0.f, w, 1.f, 1.f,
};
//completeSuccess &= auxiliaryRendertarget();
// SCREEN-QUAD
const GLfloat size = 1.f;
const GLfloat w = 1.f;
const GLfloat vertex_data[] = {
-size, -size, 0.f, w, 0.f, 0.f,
size, size, 0.f, w, 1.f, 1.f,
-size, size, 0.f, w, 0.f, 1.f,
-size, -size, 0.f, w, 0.f, 0.f,
size, -size, 0.f, w, 1.f, 0.f,
size, size, 0.f, w, 1.f, 1.f,
};
glGenVertexArrays(1, &_quad);
glBindVertexArray(_quad);
glGenBuffers(1, &_vertexPositionBuffer);
glBindBuffer(GL_ARRAY_BUFFER, _vertexPositionBuffer);
glBufferData(GL_ARRAY_BUFFER, sizeof(vertex_data), vertex_data, GL_STATIC_DRAW);
glEnableVertexAttribArray(0);
glVertexAttribPointer(0, 4, GL_FLOAT, GL_FALSE, sizeof(GLfloat) * 6, reinterpret_cast<void*>(0));
glEnableVertexAttribArray(1);
glVertexAttribPointer(1, 2, GL_FLOAT, GL_FALSE, sizeof(GLfloat) * 6, reinterpret_cast<void*>(sizeof(GLfloat) * 4));
glGenVertexArrays(1, &_quad);
glBindVertexArray(_quad);
glGenBuffers(1, &_vertexPositionBuffer);
glBindBuffer(GL_ARRAY_BUFFER, _vertexPositionBuffer);
glBufferData(GL_ARRAY_BUFFER, sizeof(vertex_data), vertex_data, GL_STATIC_DRAW);
glEnableVertexAttribArray(0);
glVertexAttribPointer(0, 4, GL_FLOAT, GL_FALSE, sizeof(GLfloat) * 6, reinterpret_cast<void*>(0));
glEnableVertexAttribArray(1);
glVertexAttribPointer(1, 2, GL_FLOAT, GL_FALSE, sizeof(GLfloat) * 6, reinterpret_cast<void*>(sizeof(GLfloat) * 4));
glBindVertexArray(0);
}
return completeSuccess;
glBindVertexArray(0);
}
bool RenderablePlanetProjection::deinitialize() {
void RenderablePlanetProjection::deinitialize() {
_projectionComponent.deinitialize();
_baseTexture = nullptr;
_geometry = nullptr;
@@ -264,9 +258,8 @@ bool RenderablePlanetProjection::deinitialize() {
_programObject = nullptr;
_fboProgramObject = nullptr;
return true;
}
bool RenderablePlanetProjection::isReady() const {
return _geometry && _programObject && _baseTexture && _projectionComponent.isReady();
}

View File

@@ -44,8 +44,8 @@ public:
RenderablePlanetProjection(const ghoul::Dictionary& dictionary);
~RenderablePlanetProjection();
bool initialize() override;
bool deinitialize() override;
void initialize() override;
void deinitialize() override;
bool isReady() const override;
void render(const RenderData& data, RendererTasks& rendererTask) override;

View File

@@ -260,7 +260,7 @@ RenderableShadowCylinder::RenderableShadowCylinder(const ghoul::Dictionary& dict
_aberration = static_cast<int>(aberration.type);
}
bool RenderableShadowCylinder::initialize() {
void RenderableShadowCylinder::initialize() {
glGenVertexArrays(1, &_vao);
glGenBuffers(1, &_vbo);
@@ -270,11 +270,9 @@ bool RenderableShadowCylinder::initialize() {
"${MODULE_NEWHORIZONS}/shaders/terminatorshadow_vs.glsl",
"${MODULE_NEWHORIZONS}/shaders/terminatorshadow_fs.glsl"
);
return true;
}
bool RenderableShadowCylinder::deinitialize() {
void RenderableShadowCylinder::deinitialize() {
RenderEngine& renderEngine = OsEng.renderEngine();
if (_shader) {
renderEngine.removeRenderProgram(_shader);
@@ -285,8 +283,6 @@ bool RenderableShadowCylinder::deinitialize() {
_vao = 0;
glDeleteBuffers(1, &_vbo);
_vbo = 0;
return true;
}
bool RenderableShadowCylinder::isReady() const {

View File

@@ -50,8 +50,8 @@ class RenderableShadowCylinder : public Renderable {
public:
RenderableShadowCylinder(const ghoul::Dictionary& dictionary);
bool initialize() override;
bool deinitialize() override;
void initialize() override;
void deinitialize() override;
bool isReady() const override;
void render(const RenderData& data, RendererTasks& rendererTask) override;

View File

@@ -164,7 +164,7 @@ RenderableConstellationBounds::RenderableConstellationBounds(
);
}
bool RenderableConstellationBounds::initialize() {
void RenderableConstellationBounds::initialize() {
_program = OsEng.renderEngine().buildRenderProgram(
"ConstellationBounds",
"${MODULE_SPACE}/shaders/constellationbounds_vs.glsl",
@@ -189,11 +189,9 @@ bool RenderableConstellationBounds::initialize() {
glVertexAttribPointer(positionAttrib, 3, GL_FLOAT, GL_FALSE, 0, 0);
glBindVertexArray(0);
return true;
}
bool RenderableConstellationBounds::deinitialize() {
void RenderableConstellationBounds::deinitialize() {
glDeleteBuffers(1, &_vbo);
_vbo = 0;
glDeleteVertexArrays(1, &_vao);
@@ -203,8 +201,6 @@ bool RenderableConstellationBounds::deinitialize() {
OsEng.renderEngine().removeRenderProgram(_program);
_program = nullptr;
}
return true;
}
bool RenderableConstellationBounds::isReady() const {

View File

@@ -50,8 +50,8 @@ class RenderableConstellationBounds : public Renderable {
public:
RenderableConstellationBounds(const ghoul::Dictionary& dictionary);
bool initialize() override;
bool deinitialize() override;
void initialize() override;
void deinitialize() override;
bool isReady() const override;

View File

@@ -339,7 +339,7 @@ RenderablePlanet::RenderablePlanet(const ghoul::Dictionary& dictionary)
}
}
bool RenderablePlanet::initialize() {
void RenderablePlanet::initialize() {
RenderEngine& renderEngine = OsEng.renderEngine();
if (_programObject == nullptr && _shadowEnabled && _hasNightTexture) {
@@ -379,11 +379,9 @@ bool RenderablePlanet::initialize() {
_programObject->deactivate();
loadTexture();
return isReady();
}
bool RenderablePlanet::deinitialize() {
void RenderablePlanet::deinitialize() {
if (_geometry) {
_geometry->deinitialize();
_geometry = nullptr;
@@ -398,8 +396,6 @@ bool RenderablePlanet::deinitialize() {
_geometry = nullptr;
_texture = nullptr;
_nightTexture = nullptr;
return true;
}
bool RenderablePlanet::isReady() const {

View File

@@ -68,8 +68,8 @@ public:
public:
RenderablePlanet(const ghoul::Dictionary& dictionary);
bool initialize() override;
bool deinitialize() override;
void initialize() override;
void deinitialize() override;
bool isReady() const override;
void render(const RenderData& data, RendererTasks& rendererTask) override;

View File

@@ -184,7 +184,7 @@ bool RenderableRings::isReady() const {
return _shader && _texture;
}
bool RenderableRings::initialize() {
void RenderableRings::initialize() {
if (!_shader) {
RenderEngine& renderEngine = OsEng.renderEngine();
_shader = renderEngine.buildRenderProgram("RingProgram",
@@ -200,11 +200,9 @@ bool RenderableRings::initialize() {
glGenBuffers(1, &_vertexPositionBuffer);
createPlane();
loadTexture();
return isReady();
}
bool RenderableRings::deinitialize() {
void RenderableRings::deinitialize() {
glDeleteVertexArrays(1, &_quad);
_quad = 0;
@@ -216,8 +214,6 @@ bool RenderableRings::deinitialize() {
OsEng.renderEngine().removeRenderProgram(_shader);
_shader = nullptr;
return true;
}
void RenderableRings::render(const RenderData& data, RendererTasks&) {

View File

@@ -46,8 +46,8 @@ class RenderableRings : public Renderable {
public:
RenderableRings(const ghoul::Dictionary& dictionary);
bool initialize() override;
bool deinitialize() override;
void initialize() override;
void deinitialize() override;
bool isReady() const override;

View File

@@ -288,25 +288,20 @@ bool RenderableStars::isReady() const {
return (_program != nullptr) && (!_fullData.empty());
}
bool RenderableStars::initialize() {
bool completeSuccess = true;
void RenderableStars::initialize() {
RenderEngine& renderEngine = OsEng.renderEngine();
_program = renderEngine.buildRenderProgram("Star",
"${MODULE_SPACE}/shaders/star_vs.glsl",
"${MODULE_SPACE}/shaders/star_fs.glsl",
"${MODULE_SPACE}/shaders/star_ge.glsl");
if (!_program) {
return false;
bool success = loadData();
if (!success) {
throw ghoul::RuntimeError("Error loading data");
}
completeSuccess &= loadData();
completeSuccess &= (_pointSpreadFunctionTexture != nullptr);
return completeSuccess;
}
bool RenderableStars::deinitialize() {
void RenderableStars::deinitialize() {
glDeleteBuffers(1, &_vbo);
_vbo = 0;
glDeleteVertexArrays(1, &_vao);
@@ -320,7 +315,6 @@ bool RenderableStars::deinitialize() {
renderEngine.removeRenderProgram(_program);
_program = nullptr;
}
return true;
}
void RenderableStars::render(const RenderData& data, RendererTasks&) {

View File

@@ -48,8 +48,8 @@ public:
explicit RenderableStars(const ghoul::Dictionary& dictionary);
~RenderableStars();
bool initialize() override;
bool deinitialize() override;
void initialize() override;
void deinitialize() override;
bool isReady() const override;

View File

@@ -70,7 +70,7 @@ RenderableToyVolume::RenderableToyVolume(const ghoul::Dictionary& dictionary)
RenderableToyVolume::~RenderableToyVolume() {}
bool RenderableToyVolume::initialize() {
void RenderableToyVolume::initialize() {
_raycaster = std::make_unique<ToyVolumeRaycaster>(_color);
_raycaster->initialize();
@@ -93,25 +93,22 @@ bool RenderableToyVolume::initialize() {
addProperty(_translation);
addProperty(_rotation);
addProperty(_color);
return true;
}
bool RenderableToyVolume::deinitialize() {
void RenderableToyVolume::deinitialize() {
if (_raycaster) {
OsEng.renderEngine().raycasterManager().detachRaycaster(*_raycaster.get());
_raycaster = nullptr;
}
return true;
}
bool RenderableToyVolume::isReady() const {
// @TODO isReady function needs to be filled
return true;
}
void RenderableToyVolume::update(const UpdateData& data) {
if (_raycaster) {
glm::mat4 transform = glm::translate(glm::mat4(1.0), static_cast<glm::vec3>(_translation) * std::pow(10.0f, static_cast<float>(_scalingExponent)));
glm::vec3 eulerRotation = static_cast<glm::vec3>(_rotation);
transform = glm::rotate(transform, eulerRotation.x, glm::vec3(1, 0, 0));

View File

@@ -44,8 +44,8 @@ public:
RenderableToyVolume(const ghoul::Dictionary& dictionary);
~RenderableToyVolume();
bool initialize() override;
bool deinitialize() override;
void initialize() override;
void deinitialize() override;
bool isReady() const override;
void render(const RenderData& data, RendererTasks& tasks) override;
void update(const UpdateData& data) override;

View File

@@ -139,6 +139,10 @@ Renderable::Renderable(const ghoul::Dictionary& dictionary)
Renderable::~Renderable() {}
void Renderable::initialize() {}
void Renderable::deinitialize() {}
void Renderable::setBoundingSphere(float boundingSphere) {
_boundingSphere = boundingSphere;
}

View File

@@ -212,13 +212,10 @@ void Scene::sortTopologically() {
void Scene::initialize() {
for (SceneGraphNode* node : _topologicallySortedNodes) {
try {
bool success = node->initialize();
if (success)
LDEBUG(node->name() << " initialized successfully!");
else
LWARNING(node->name() << " not initialized.");
node->initialize();
}
catch (const ghoul::RuntimeError& e) {
LERROR(node->name() << " not initialized.");
LERRORC(std::string(_loggerCat) + "(" + e.component + ")", e.what());
}
}

View File

@@ -182,7 +182,7 @@ SceneGraphNode::~SceneGraphNode() {
deinitialize();
}
bool SceneGraphNode::initialize() {
void SceneGraphNode::initialize() {
if (_renderable) {
_renderable->initialize();
}
@@ -197,11 +197,9 @@ bool SceneGraphNode::initialize() {
if (_transform.scale) {
_transform.scale->initialize();
}
return true;
}
bool SceneGraphNode::deinitialize() {
void SceneGraphNode::deinitialize() {
LDEBUG("Deinitialize: " << name());
if (_renderable) {
@@ -210,10 +208,7 @@ bool SceneGraphNode::deinitialize() {
}
_children.clear();
// reset variables
_parent = nullptr;
return true;
}
void SceneGraphNode::traversePreOrder(std::function<void(SceneGraphNode*)> fn) {