@pierre_tardif00 wrote:
Hi,
I’m trying to get a collection of ofShader working.
I have created a ShaderManager class, and ShaderHandler class, and I’m trying to do a dynamic_cast on class, but it throw an error: when loading a shader file, the app crashes:
ofApp.h :
#pragma once #include "ofMain.h" class ShaderManager{ public : ShaderManager(){ } void setup(){ cout << "setup Manager" << endl; } virtual ~ShaderManager(){}; }; class ShaderHandler : ShaderManager { public : ShaderHandler(){ } ofShader shader; void setup(){ cout << "setup Handler" << endl; shader.load("shader.vert", "shader.frag"); } ~ShaderHandler(){}; }; class ofApp : public ofBaseApp{ public: void setup(); void update(); void draw(); ShaderManager* sManager1; ShaderHandler* sManager2; };
ofApp.cpp :
#include "ofApp.h" void ofApp::setup(){ sManager1->setup(); ShaderHandler* sManager3 = dynamic_cast<ShaderHandler*>(sManager1); sManager3->setup(); }; void ofApp::update(){ }; void ofApp::draw(){ };
Log :
2019-03-18 14:31:57.479119+0000 dynamicCastingDebug[85706:15317883] [default] Unable to load Info.plist exceptions (eGPUOverrides) 2019-03-18 14:31:57.864544+0000 dynamicCastingDebug[85706:15317882] MessageTracer: Falling back to default whitelist setup Manager setup Handler dynamicCastingDebug was compiled with optimization - stepping may behave oddly; variables may not be available. (lldb)
How can I get the cast from ShaderManager to ShaderHandler and load my shaders?
I’m on 10.0.0-patch, OSX 10.14.3.
Thks,
P
Posts: 1
Participants: 1