More Related Content
Similar to Open modeler (20)
Open modeler
- 2. 自己紹介
• 名前 泉芳樹
• 所属 河原電子ビジネス専門学校
• twitter @izumi_yoshiki
• GitHub https://github.com/izumiyoshiki
- 22. 3、Qt
#include <QMainWindow>
namespace Ui {
class MainWindow;
}
class MainWindow : public QMainWindow{
Q_OBJECT
public:
explicit MainWindow(QWidget *parent = 0);
~MainWindow();
private:
Ui::MainWindow *ui;
};
- 26. 4、OpenGL
#include <QGLWidget>
class OpenGL : public QGLWidget{
Q_OBJECT
public:
OpenGL(QWidget *parent = 0);
~OpenGL();
protected:
virtual void initializeGL();
virtual void resizeGL(int width, int height);
virtual void paintGL();
};
- 29. 4、OpenGL
void OpenGL::initializeGL(){
glClearColor(0.0, 0.0, 0.0, 1.0);
}
void OpenGL::resizeGL(int width, int height){
glViewport(0, 0, width, height);
glLoadIdentity();
glOrtho(0.0, 1.0, 0.0, 1.0, -1.0, 1.0);
}
- 30. 4、OpenGL
void OpenGL::paintGL(){
glClear(GL_COLOR_BUFFER_BIT |
GL_DEPTH_BUFFER_BIT);
glColor3d(0.0, 1.0, 0.0);
glBegin(GL_TRIANGLES);
glVertex2d(0.1, 0.1);
glVertex2d(0.9, 0.1);
glVertex2d(0.5, 0.9);
glEnd();
}
- 34. 5、Squirrel
int main(int argc, char* argv[])
{
HSQUIRRELVM v;
v = sq_open(1024);
sqstd_seterrorhandlers(v);
sq_setprintfunc(v, printfunc,errorfunc);
sq_pushroottable(v);
if(SQ_SUCCEEDED(
sqstd_dofile(v, _SC("test.nut"), SQFalse, SQTrue))
) {
call_foo(v,1,2.5,_SC("teststring"));
}
sq_pop(v,1);
sq_close(v);
return 0;
}
- 35. 5、Squirrel
void call_foo(HSQUIRRELVM v, int n,float f,const SQChar *s)
{
SQInteger top = sq_gettop(v);
sq_pushroottable(v);
sq_pushstring(v,_SC("foo"),-1);
if(SQ_SUCCEEDED(sq_get(v,-2))) {
sq_pushroottable(v);
sq_pushinteger(v,n);
sq_pushfloat(v,f);
sq_pushstring(v,s,-1);
sq_call(v,4,SQFalse,SQTrue);
}
sq_settop(v,top);
}