问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

用OpenGL显示列表写画三角形和直线的程序1

发布网友 发布时间:2023-10-16 15:26

我来回答

1个回答

热心网友 时间:2024-10-28 16:41

要想在VB6.0中使用OpenGL绘图,必须先下载一个SDK,名字叫vbogl.tlb。
下载该文件后,直接在VB6.0“工程”-“引用”里面引用
1、在form中加入一个PictureBox控件
2、要在Windows里面使用OpenGL,必须先进行像素格式设置,函数代码如下
Dim hRC As Long’全局变量
'启用OGL
Sub EnableOpenGL(ghDC As Long)

On Error GoTo Err

Dim pfd As PIXELFORMATDESCRIPTOR 'pfd像素格式设置.
ZeroMemory pfd, Len(pfd)
pfd.nSize = Len(pfd) '大小
pfd.nVersion = 1 '版本
pfd.dwFlags = PFD_DRAW_TO_WINDOW Or PFD_SUPPORT_OPENGL Or PFD_DOUBLEBUFFER '标志
pfd.iPixelType = PFD_TYPE_RGBA '像素类型
pfd.cColorBits = 24 '颜色位数
pfd.cDepthBits = 32 '位宽
pfd.iLayerType = PFD_MAIN_PLANE '图层类型

Dim PixFormat As Long
PixFormat = ChoosePixelFormat(ghDC, pfd) '选择设备中最匹配我们所设置的像素
SetPixelFormat ghDC, PixFormat, pfd '设置成当前的像素
hRC = wglCreateContext(ghDC) '建立翻译描述表
wglMakeCurrent ghDC, hRC '将建立的翻译描述表设置为当前
Exit Sub

Err:
MsgBox "Can't create OpenGL context!", vbCritical, "Error"
End
End Sub

在工程的FORM的load中加入调用代码

Call EnableOpenGL(Picture1.hDC)

3、与启用对应的禁用
'禁用OGL

Sub DisableOpenGL()
wglMakeCurrent 0, 0
wglDeleteContext hRC
End Sub

在工程的form的unload中加入禁用代码

Call DisableOpenGL

4、绘图

Private Sub Display()
glClearColor 0#, 0#, 1#, 0# '清空颜色缓存的RGBA颜色值
glClear clrColorBufferBit '为绘下帧曲面清除缓冲区
glColor3f 0.8, 0.3, 0.5 '设置显示的字体颜色

glPushMatrix '依据当前模式(模式-视图矩阵)使矩阵入栈

glBegin glBeginModeConstants.bmPolygon '开始绘图,绘制一个三角形
glVertex2f -0.5, -0.5 '三角形的3个顶点
glVertex2f -0.5, 0.5
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
找专业防水队做完还漏水怎么维权 法院会受理房屋漏水造成的纠纷吗? 巴西龟最长活多久,家养!!! 养胃的药最好的是什么啊 婴儿积食发烧不愿吃药怎么办 板门穴位在哪个部位 手机设置放偷看的方法? 凝结水回收器生产厂家? 个人账户养老金预测公式:现有5万元,缴费20年,能领多少钱? 临沂比较有名的男装品牌 奥迪a6显示屏不亮2 用opengl画三角形的问题4 奥迪a6l中控屏幕不亮4 编程题目:利用Opengl绘制一个三角形。4 主卧室财位刚好对着厕所门,有两个存钱灌就只好放在进门口的茶几... 餐桌正对厕所门如何破解13 CF手游冰火巨蜥怎么打 冰火巨蜥打法技巧 卖夏普冰箱2 我家有一台冰箱是SHARP这是什么牌子5 举报抖音直播?2 梦见有人在捂我嘴的预兆 我现在16岁,(男),身高177体重61kg正常吗?身高体重是否协调? 弘康如意和美重疾险好不好?注意哪些问题?27 男生身高177厘米体重70公斤.女生身高160厘米.体重55公斤.问下这两个... 麻石除尘器的麻石除尘器的结构与原理 一个星期不吃晚饭可以瘦多少斤? 怎么样才能戒掉烟?1 男生19岁,177公分。70公斤好吗 怎么才能把烟戒掉?52 主角穿越到废物身上 被指腹为婚的未婚妻退婚的玄幻小说 主角家族背景... “珍爱生命”用英文怎么说171 沸羊羊的性格特征38 沸羊羊是什么样性格?3 小米智能插座为什么重置了,还是连接不上网络?4 伊野尾理枝为何消失327 我买了该公司智能插座,怎么也与手机连不上网? 伊野尾理枝到底是谁啊?为什么很神秘呢?难道她失踪了?还是。。...226 小米智能插座连接不上,为什么103 陕西师范大学的师范英语专业属于什么类别啊? oppor7s手机怎样使用外置红外线万能遥控器?3 什么是人文关怀,在实际护理工作中如何进行人文关怀131 废墟的召唤思考与练习答案19 1岁半可以吃家乐氏缤纷水果麦片吗? II 这个数学符号是什么意思1 汽车出车祸报废保险怎么赔230 梦见桐子花树开花了。。。。。1 Linux服务器tomcat部署运行后cpu升到最高一直不降...1 厕所门一半对房门会不会墙角对冲1 知道中通快递的进来,我朋友给我寄一个中通快递,可是快递一直显...270 《我是余欢水》不止郭京飞出彩,正午阳光的御用配角们,来了5位