精华内容
下载资源
问答
  • OpenGL绘图程序

    2008-11-24 11:02:00
    OpenGL绘图程序OpenGL绘图程序OpenGL绘图程序OpenGL绘图程序OpenGL绘图程序OpenGL绘图程序
  • glad OpenGL绘图的函数索引库,版本3.3,可用于OpenGL绘图使用 在使用时将glad.c放在代码文件夹,将glad.h放在Windows Kits包含目录 然后直接include 就可以
  • 主要介绍了Android编程之OpenGL绘图技巧,结合实例形式总结分析了Android基于OpenGL绘图的原理与具体步骤,具有一定参考借鉴价值,需要的朋友可以参考下
  • qt二维OPENGL绘图源码
  • QT + OPenGL 绘图

    2012-10-25 11:18:54
    QT+opengl绘图,环境4.7.3 +vs2008,学习两天opengl画的小demo,适合初学者
  • opengl绘图程序

    2011-11-18 20:19:25
    完整的opengl绘图程序,包括圆、点和直线的绘制。还可以用alpha来实现像素的操作。该程序在VS2010下运行通过
  • OpenGL绘图相关函数

    2014-03-27 13:41:51
    OpenGL绘图相关函数 OpenGL是SGI(Silicon Graphics Inc.)公司对IRIS GL进行改进,扩展可移植性,形成的一个跨平台开放式图形编程接口。 目前,OpenGL标准由1992年成立的独立财团OpenGL Architecture Review Board...
  • OPENGL绘图控件

    2018-08-09 11:57:47
    超简洁的OPENGL三维绘点控件,包括放大缩小,旋转平移,点颜色设置。接口简单。
  • 大学课程 图形学 visual c++ OpenGl绘图 源代码.zip
  • OpenGL绘图软件源代码

    2010-03-30 13:15:44
    OpenGL绘图软件源代码 包含2D基本图形的绘制
  • opengl 绘图,vc++ c++ mfc ppt
  • 主要基于c#语言,在OpenGL绘图窗口上使用鼠标对既有的图形进行空间的缩放与旋转
  • ubuntu+QT+ OpenGL绘图

    千次阅读 2015-06-02 20:36:40
    ubuntu+QT+ OpenGL绘图

    ubuntu+QT+OpenGL绘图

    我的开发环境是ubuntu+qt,为了要结合opencv+openni,并显示三维点云,所以在2大open环境下又考虑装一个OpenGL。具体安装方法如下:

    1、  ctrl+al+t打开终端,输入 sudo apt-getinstall libqglviewer-dev,进行openGL安装。

    2、  打开QT,进行测试。

    2.1 新建项目

    openGL一般是新建Qt Gui应用项目,在类信息中继承的是Qwidght基类。这样就会生成1个头文件,2个源文件,1个界面文件。

    2.2 例程

    --------------------------.h-----------------------------------------------

    #ifndef GLWIDGET_H

    #define GLWIDGET_H

    #include <QtOpenGL>

    #include <QWidget>

    namespace Ui {

    class GLWidget;

    }

     

    class GLWidget : public QGLWidget

    {

        Q_OBJECT

    public:

        explicitGLWidget(QGLWidget *parent = 0);

        ~GLWidget();

    protected:

        void initializeGL();  //初始化OpenGL窗口部件

        void paintGL();  //绘制整个OpenGL窗口,只要有更新发生,这个函数就会被调用

        void resizeGL(int width,int height); //处理窗口大小变化事件的,参数是新状态下的宽和高

        voidkeyPressEvent(QKeyEvent *e);  //鼠标处理函数

    protected:

        bool fullscreen;  //判断是否全屏的变量

    private:

        Ui::GLWidget *ui;

    };

    #endif // GLWIDGET_H

    --------------------------.h----------------------------------------

    -------------------------.cpp--------------------------------------

    #include "glwidget.h"

    #include "ui_glwidget.h"

    #include <QtGui>

    #include <QtCore>

    #include <QtOpenGL>

     

    GLWidget::GLWidget(QGLWidget *parent) :

        QGLWidget(parent),

        ui(new Ui::GLWidget)

    {

        ui->setupUi(this);

        fullscreen = false;

    }

     

    //这是对虚函数,这里是重写该函数

    void GLWidget::initializeGL()

    {

        setGeometry(300, 200, 640,480);//设置窗口初始位置和大小

        glShadeModel(GL_FLAT);//设置阴影平滑模式

        glClearColor(0.0, 0.0,0.0, 0);//改变窗口的背景颜色

        glClearDepth(1.0);//设置深度缓存

        glEnable(GL_DEPTH_TEST);//允许深度测试

        glDepthFunc(GL_LEQUAL);//设置深度测试类型

        glHint(GL_PERSPECTIVE_CORRECTION_HINT,GL_NICEST);//进行透视校正

    }

     

    void GLWidget::paintGL()

    {

        glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT );

        glLoadIdentity();

           //renderText(10,20,"Hello,My Dear");

       // glColor3f(1.0, 0.0,0.0);

        /*

        glBegin(GL_TRIANGLES);

            glVertex3f(0.0, 1.0,0.0);

            glVertex3f(-1.0, -1.0,0.0);

            glVertex3f(1.0, -1.0,0.0);

            glEnd();

        */

        glBegin(GL_TRIANGLES);

            glColor3f(1.0f, 0.0f,0.0f);

                glVertex3f(0.0f,1.0f, 0.0f);

            glColor3f(0.0f, 1.0f,0.0f);

                glVertex3f(-1.0f,-1.0f, 0.0f);

            glColor3f(0.0f, 0.0f,1.0f);

                glVertex3f(1.0f,-1.0f, 0.0f);

        glEnd();

        renderText(20, 100,"Hello Jcy, My first OpenGL app.");

    }

     

    //该程序是设置opengl场景透视图,程序中至少被执行一次(程序启动时).

    void GLWidget::resizeGL(int width, int height)

    {

        if(0 == height)

            height = 1;//防止一条边为0

        glViewport(0, 0,(GLint)width, (GLint)height);//重置当前视口,本身不是重置窗口的,只不过是这里被Qt给封装好了

       glMatrixMode(GL_PROJECTION);//选择投影矩阵

        glLoadIdentity();//重置选择好的投影矩阵

       // gluPerspective(45.0,(GLfloat)width/(GLfloat)height, 0.1, 100.0);//建立透视投影矩阵

      //  glMatirxMode(GL_MODELVIEW);//以下2句和上面出现的解释一样

        glLoadIdentity();

    }

     

    void GLWidget::keyPressEvent(QKeyEvent *e)

    {

        switch(e->key())

        {

            //F1键为全屏和普通屏显示切换键

            case Qt::Key_F1:

                fullscreen =!fullscreen;

                if(fullscreen)

                   showFullScreen();

                else

                {

                   setGeometry(300, 150, 640, 480);

                    showNormal();

                }

                updateGL();

                break;

            //Ese为退出程序键

            case Qt::Key_Escape:

                close();

        }

    }

    GLWidget::~GLWidget()

    {

        delete ui;

    }

    -------------------------.cpp--------------------------------------

    Main.cpp文件没任何改动。

    输出是一个三角形。

     

    3、可能出现的错误:

    3.1错误:C1083: Cannot open include file: 'QtOpenGL': No such file ordirectory

    如果你是这个错误,那么你需要在.pro文件中添加QT += opengl

    3.2错误:C2504: 'QGLWidget' : base class undefined

    如果你是这个错误,那么请你在.h文件中添加      #include<QtOpenGL>

    3.3错误:C2039: 'show' : is not a member of 'GLWidget'

    如果你是这个错误,那么请你在.h文件中添加       #include<QtOpenGL>

     

    展开全文
  • 基于MFC的OpenGL绘图

    2010-04-14 13:37:22
    基于MFC的OpenGL绘图 作者:洞庭散人 出处:http://phinecos.cnblogs.com/
  • VC 对话框 CStatic 使用opengl绘图 有完整的自定义的类 完整的代码 VC2010编译通过 不过要自己配置好OPNGL库路径 默认(OpenGLView.h)在 #include <gl.h> #include <glu.h> #include <glaux.h> #include #...
  • Windows c 好玩的飞机游戏 opengl绘图
  • MFC框架下OpenGL绘图基础例程 自带glut dll 实现绘制三角形
  • 基于MFC的OpenGL绘图设置说明 。。。。。。
  • OpenGL绘图函数

    千次阅读 2011-12-14 23:22:36
    OpenGL绘图函数   1.清屏 void glClearColor( GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha );   2.缓冲区清理 glClear( GLbitfield mask)   3.平移,旋转,缩放 void glRotated( ...

     OpenGL绘图函数

     

    1.清屏

    void glClearColor( GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha );

     

    2.缓冲区清理

    glClear( GLbitfield mask)

     

    3.平移,旋转,缩放

    void glRotated( GLdouble angle, GLdouble x, GLdouble y, GLdouble z );
    void glRotatef( GLfloat angle, GLfloat x, GLfloat y, GLfloat z );
    void glScaled( GLdouble x, GLdouble y, GLdouble z );
    void glScalef( GLfloat x, GLfloat y, GLfloat z );
    void glTranslated( GLdouble x, GLdouble y, GLdouble z );
    void glTranslatef( GLfloat x, GLfloat y, GLfloat z );

     

    4.强制执行opengl命令

    glFinish(void);

     

    5.保护原来的矩阵在一系列变换操作后不被破坏(改变)

    void glPushMatrix( void );
    void glPopMatrix( void );

     

    6.视见

    void glViewport( GLint x, GLint y, GLsizei width, GLsizei height );

     

    7.平行视景体

    void glOrtho( GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble near_val, GLdouble far_val );

     

    8.矩阵单位化

    void glLoadIdentity( void );

     

    9.光照 Ligiht0-7

    GLAPI void APIENTRY glLightf( GLenum light, GLenum pname, GLfloat param );
    GLAPI void APIENTRY glLighti( GLenum light, GLenum pname, GLint param );
    GLAPI void APIENTRY glLightfv( GLenum light, GLenum pname, const GLfloat *params );
    GLAPI void APIENTRY glLightiv( GLenum light, GLenum pname, const GLint *params );

     

    10.点大小 和 线宽

    GLAPI void APIENTRY glPointSize( GLfloat size );
    GLAPI void APIENTRY glLineWidth( GLfloat width );

     

    11.获取opengl错误

    glEnum glGetError( void );

     

    12.纹理生产和删除

    GLAPI void APIENTRY glGenTextures( GLsizei n, GLuint *textures );
    GLAPI void APIENTRY glDeleteTextures( GLsizei n, const GLuint *textures);

     

    OpenGL API: http://msdn.microsoft.com/en-us/library/dd374211(v=VS.85).aspx

     

     

    转载自:http://blog.csdn.net/ccsdu2004/article/details/4345639

    展开全文
  • C#+OpenGL绘图实例

    2018-07-11 16:20:07
    C#语言开发OpenGL图形处理的必备场景搭建。用户下载解压后可直接运行,代码简洁便于理解。
  • 此类允许在 SketchUp 中为 OpenGL 绘图操作设置动画。 您可以在看到示例。 用法 AE::Animation.draw(view) 在 SketchUp 工具的 draw 方法中调用它。 AE::Animation.new(view, drawing_operations) 将view作为工具的...
  • 点击下载来源:Speedy Painter(OpenGL绘图工具) v3.6.2 Speedy Painter是一款基于OpenGL的非常轻量级的绘图软件,该软件界面看上去非常细腻,而让人感觉非常友好。Speedy Painter还支持Wacom数字化仪,并且提供了...

    点击下载来源:Speedy Painter(OpenGL绘图工具) v3.6.2
    Speedy Painter是一款基于OpenGL的非常轻量级的绘图软件,该软件界面看上去非常细腻,而让人感觉非常友好。Speedy Painter还支持Wacom数字化仪,并且提供了各种类的笔触大小、透明度和压力效果。需要这么一款轻便的绘画软件的同学,快来软件学堂下载吧!
    Speedy Painter
    2.3.1版本特点
    1、跟随画布活动的参考视图!可按F3键
    2、导出画图过程为一个视频:准备上传到YouTube上!
    3、多图层
    5、能够根据笔的压力改变笔触大小和/或不透明度(支持Wacom数字化转换器)
    6、重放画图过程
    7、导入/导出画图过程
    8、加载最常见的图像格式
    9、画布旋转
    10、帆布翻转
    11、选择遮罩

    展开全文
  • OpenGL绘图过程简述

    千次阅读 2012-08-28 21:04:06
    OpenGL绘图的基本过程是:清除缓冲区,设置当前颜色,绘制几何图元,输出图形。   一、清除缓冲区 缓冲区是用来保存绘图过程中产生的图像数据的内存区域,OpenGL有颜色、深度、累积和模板等四种常用的缓冲...

    OpenGL绘图的基本过程是:清除缓冲区,设置当前颜色,绘制几何图元,输出图形

     

    一、清除缓冲区

    缓冲区是用来保存绘图过程中产生的图像数据的内存区域,OpenGL有颜色、深度、累积和模板等四种常用的缓冲区。这里只介绍颜色缓冲区和深度缓冲区的清除方法。

    由于缓冲区中可能保留有上一次绘图遗留下来的图像数据,这些数据会影响本次绘图,因此在绘制新图之前必须将它们清除掉。颜色缓冲区中存放的是图像的像素颜色数据,深度缓冲区存放的是用于图像消隐的深度信息。在一个三维场景中,距离视点较近的物体可能部分地或全部地遮挡住距离视点较远的物体。将被遮挡的部分小曲不显示的技术成为图像消隐技术。实现图像消隐最简单的方法是使用深度缓冲区(Z-Buffer),清除深度缓冲区的目的是使消隐工作能正确地进行。一般情况下需要清除的缓冲区就是这两个缓冲区。

    清除缓冲区的工作分两步进行。

    1)设置清除值。清除值是在清除缓冲区时用来填充缓冲区的数据。设置颜色缓冲区清除值的函数是glClearColor(),它有四个浮点型参数,分别表示清除值的R、G、B、A分量的值,默认值全为0。其中第四个参数A表示Alpha值,主要用于融合,一般把它设为0。如果使用整个窗口作为OpenGL的绘图区域,则可以将颜色缓冲区的清除值看作是窗口的背景颜色。设置深度缓冲区清除值的函数是glClearDepth(),它只有一个参数,即深度清除值,取值范围为[0.01,1.0],默认值为1.0。

    2)清除缓冲区。清除缓冲区使用的函数是glClear(),它只有一个参数,表示将要清除的缓冲区的种类,可取的值有GL_COLOR_BUFFER_BIT(颜色缓冲区)、GL_DEPTH_BUFFER_BIT(深度缓冲区)、GL_ACCUM_BUFFER_BIT(累积缓冲区)、GL_STENCIL_BUFFER_BIT(模板缓冲区)。这些值也可以用逻辑或组合起来使用,实现一次清除多个缓冲区。

     

    二、设置颜色

    根据需要设置当前颜色。一旦一种颜色被设置为当前颜色,其后所有物体都将用该颜色绘出,直到当前颜色被设置为新的颜色为止。设置颜色的函数是glColor()。

     

    三、绘制几何图形

    OpenGL中用于绘图的函数有很多,这里只介绍基本几何图元的绘图函数。在glBegin()和glEnd()函数之间调用基本图元函数完成点、线、和多边形的绘制。glBegin()函数原型是:

    void glBegin(GLenum mode);

    其中mode表示几何图元的类型,取值如下表。

    glEnd()函数原型是:

    void glEnd(void);

    在glBegin()和glEnd()之间,只能调用下表所列的函数,调用其他函数会导致OpenGL错误。glBegin()和glEnd()函数必须成对使用,否则可能导致不可预期的错误。

     

    四、图形输出

    glFlush()函数启动OpenGL绘图命令的执行,并将图形光栅化后输出在设备上。如果OpenGL工作在双缓冲模式下,缓冲区切换函数(SwapBuffers())隐含执行glFlush()。

    展开全文
  • OPENGL 绘图 正方体

    2009-09-03 12:20:09
    这是一个自己用OPENGL写的小程序,主要绘制了正方体和锥体,对初学者来说是非常有用的资源。
  • 特性: 包含有opengl的配置,使你的项目不需要进行opengl配置,直接使用...1. 在Visual Studio中新建一个对话框应用程序OpenglTest,添加Opengl绘图类的文件到该项目,在COpenglTestDlg头文件中添加 #include “Ope...
  • 原文混合语言编程—C#使用原生的Directx和OpenGL绘图的方法 由于项目需要做一些图形展示,所以就想到了使用Directx和OpenGL来绘图,但项目准备使用C#来开发(大家比较熟悉C#),在网上看了相关的资料,有一些第三方...
  • qt5.4 opengl绘图

    2015-07-12 17:03:20
    #ifndef MYOPENGLWIDGET_H #define MYOPENGLWIDGET_H #include #include #include #include"Windows.h" #include"gl/GLU.h" #include #include ...class MyOpenGLWidget : public QOpenGLWidget ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 23,431
精华内容 9,372
关键字:

opengl绘图