OpenGL基础知识

矩形,三角形,三菱锥的绘制

  1. 首次接触OpenGL,发现它作为一个规格的专业的图形程序接口,学会使用它对自己有很大帮助。
  2. 前期自学看书,边敲边思考,有一定的c语言基础,发现可以很快理解。
    (一)、矩形
#include<windows.h>
#define GLUT_DISABLE_ATEXIT_HACK 
#include<gl/glut.h>
#include<gl/gl.h>
#include<gl/glu.h>
void RenderScene()//用于在窗口中绘制需要的图形
{
    glClear(GL_COLOR_BUFFER_BIT);//用当前清除色清除颜色缓冲区,即设定窗口的背景色
    glColor3f(1.0f,0.0f,0.0f);//设置当前绘图使用的RGB颜色
    glRectf(0.0f,40.0f,40.0f,0.0f);//使用当前颜色绘制一个填充的矩形,四个参数表示矩形左上角点和右下角点的坐标
    glFlush();//刷新OpenGL命令队列
 } 
 //是窗口大小改变时调用的登记函数
 void ChangeSize(int w,int h)
{
    if(h==0) h=1;
    glViewport(0,0,w,h);
    glMatrixMode(GL_PROJECTION);
    glLoadIdentity();
    if(w<=h) 
        glOrtho(-100.0f,100.0f,-100.0f*h/w,100.0f*h/w,-100.0f,100.0f);
    else
    glOrtho(-100.0f*w/h,-100.0f*w/h,-100.0f,100.0f,-100.0f,100.0f);
    glMatrixMode(GL_MODELVIEW);
    glLoadIdentity();
}
 void SetupRC()//用于初始化,常用来设置场景渲染状态
 {
    glClearColor(1.0f,1.0f,1.0f,1.0f);//设置窗口的清除色为白色
 }
 void main()
 {
    //初始化GLUT库OpenGL窗口的显示模式
    glutInitDisplayMode(GLUT_SINGLE|GLUT_RGB);
    glutCreateWindow("GLRect");//创建一个名为GLRect的窗口
    //设置当前窗口的显示回调函数和窗口再整形回调函数
    glutReshapeFunc(ChangeSize);
    glutDisplayFunc(RenderScene);
    SetupRC();
    //启动主GLUT事件处理循环
    glutMainLoop();
 }
  • 运行结果如图
    这里写图片描述

    (二)、三角形

#include<windows.h>
#define GLUT_DISABLE_ATEXIT_HACK 
#include<gl/gl.h>
#include<gl/glut.h>
//旋转参数
static GLfloat xRot=0.0f;
static GLfloat yRot=0.0f;
//确定多边形绕法的方向
BOOL bWinding=TRUE;
//初始化窗口
void
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
计算机图形学是研究如何使用计机生成、处理和显示图像的学科。而OpenGL(Open Graphics Library)是一种跨平台的图形编程接口,它提供了一系列函数和工具,用于进行2D和3D图形的渲染和处理。 OpenGL具有以下特点: 1. 跨平台性:OpenGL可以在多个操作系统上运行,包括Windows、MacOS、Linux等。 2. 高性能:OpenGL使用硬件加速来进行图形渲染,能够实现高效的图形处理。 3. 开放性:OpenGL是一个开放标准,可以由各个厂商进行实现和扩展。 4. 简单易用:OpenGL提供了一套简单的函数接口,使得开发者可以方便地进行图形编程。 在学习OpenGL之前,你需要了解一些基础的计算机图形学概念,例如坐标系统、颜色模型、光照模型等。同时,你还需要了解一些基本的编程知识,例如C++语言。 学习OpenGL可以按照以下步骤进行: 1. 安装OpenGL开发环境:根据你所使用的操作系统,选择合适的OpenGL开发环境进行安装。 2. 学习OpenGL基础知识:学习OpenGL的基本概念、函数和工具的使用方法,了解如何创建窗口、绘制基本图形等。 3. 实践编程:通过编写简单的OpenGL程序来巩固所学知识,例如绘制简单的图形、添加光照效果等。 4. 深入学习:学习更高级的OpenGL技术,例如纹理映射、着色器编程、投影变换等。 5. 应用实践:将所学的OpenGL知识应用到实际项目中,例如游戏开发、可视化等。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值