随笔 - 54  文章 - 0  评论 - 1  阅读 - 46463

opengl 入门浅学(一)

因为要做图形学的实验,又是要以OPENGL为基础,所以就稍微在网上查了一些资料。

我是带着目的去学习的,所以就没有打基础之类的学很深,浅尝。

今天试着搭简单框架,画出一个图形。大神请出门左转。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
#include<gl/glut.h>
#include<stdlib.h>
 
void mydisplay(void)
{
    glClear(GL_COLOR_BUFFER_BIT);     //清楚各种缓冲(颜色,深度,模式等等),先不用管
    glBegin(GL_TRIANGLES);   
    glVertex3f(1.0,0.0,0.0);
    glVertex3f(0.0,0.0,0.0);
    glVertex3f(0.0,1.0,0.0);
    glEnd(); 
    glFlush();     //强制刷新缓冲
}
 
void main(int argc,char**argv)
{
     glutInit(&argc ,argv);    //初始化
     glutInitWindowPosition( 200 , 100);  //设置初始OPENGL窗口位置
     glutInitWindowSize( 500,500);       //设置初始窗口宽高
     glutInitDisplayMode(GLUT_RGB | GLUT_SINGLE);     //设置窗口显示模式
    /*
1:GLUT_RGBA或者GLUT_RGB。指定一个RGBA窗口,这是一个默认的颜色模式。
  
2:GLUT_INDEX。指定颜色索引模式。
  
这个显示模式还允许你选择单缓冲区或双缓冲区窗口。
  
1:GLUT_SINGLE.单缓冲区窗口。
  
2:GLUT_DOUBLE.双缓冲区窗口,这是产生流畅动画必须选的。
  
还可以指定更多,如果你想指定一组特殊的缓冲的话,用下面的变量:
  
1:GLUT_ACCUM.累积缓冲区。
  
2:GLUT_STENCIL.模板缓冲区。
  
3:GLUT_DEPTH.深度缓冲区。
*/
 
    glutCreateWindow("第一个OPENGL窗口");     //设置窗口名称
    glutDisplayFunc(mydisplay);              //调用显示窗口函数
    glutMainLoop();        //让程序一直运行下去的循环函数
 
}

  

posted on   hahanonym  阅读(234)  评论(0编辑  收藏  举报
编辑推荐:
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

点击右上角即可分享
微信分享提示