有没有一种方法可以使用 libcinder 进行绘制,而无需将所有代码放在主类的 draw() 方法上。我正在开发一个大型应用程序,将所有内容塞入一个文件中无论如何都不方便。
这是这个想法的一个例子:
class MyApp : public AppBasic {
public:
void setup ();
void update ();
void draw ();
private:
vector<MyObject> myObjects;
};
MyApp::draw () {
for (int i = 0; i < myObjects.size(); ++i) {
myObjects[i].render ();
}
}
CINDER_APP_BASIC (MyApp, RendererGL)
/* ------------------ */
class MyObject {
public:
void render ();
};
void MyObject::render () {
Rectf rect (0, 0, 20, 20);
gl::drawSolidRoundedRect(rect, 15.0);
}