鱼C论坛

 找回密码
 立即注册
查看: 3595|回复: 4

[技术交流] [Delphi版]OpenGL入门学习1:编写第一个OpenGL程序

[复制链接]
发表于 2014-3-12 13:44:36 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
0. Requires
GLU.pas
GL.pas

OpenGLPanel.pas

1.第一个OpenGL程序

绘制代码:
  • procedure TForm1.OpenGLPanel1Paint(Sender: TObject);
  • begin
  •   glClearColor(0.0, 0.0, 0.0, 0.0);  // 设置背景色(清除scene)
  •   glClear(GL_COLOR_BUFFER_BIT);      // 清除颜色缓冲区
  •   glrectf(-0.5,-0.5,0.5,0.5);        //绘制矩形
  •   OpenGLPanel1.SwapBuffers;
  • end;

[color=rgb(51, 102, 153) !important]复制代码

2.解析
VCL TOpenGLPanel对获取RC等常规操作进行了封装,用户可以把精力集中在“如何绘制/显示”。
“当需要画图时,请调用TOpenGLPanel的OnPaint函数”。于是OnPaint函数就用来画图。观察OnPaint中的三个函数调用,发现它们都以gl开头。这种以gl开头的函数都是OpenGL的标准函数,下面对用到的函数进行介绍。

    (i)  glClearColor ,清除当前显示场景的颜色,并用指定背景色填充。使用的颜色类型为RGBA。

   (ii)glClear,清除。GL_COLOR_BUFFER_BIT表示清除颜色,glClear函数还可以清除其它的东西,但这里不作介绍。

    (iii) glRectf,画一个矩形。四个参数分别表示了位于对角线上的两个点的横、纵坐标。

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2014-3-12 13:56:03 | 显示全部楼层
Delphi有OpenGL控件吗,我还不知道,因为这方面的教程太少了,而且别人说OpenGL在游戏方面不如DirectX,也不知道是真的还是假的。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-3-12 14:35:41 | 显示全部楼层

Delphi自带OpenGL单元。
DX与OpenGL的差别:
使用OpenGL出现问题,什么都不会发生;
使用DX出现问题,什么都有可能发生!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2014-3-12 14:55:50 | 显示全部楼层
但是OpenGL的学习资料比较少,而与Delphi相关的OpenGL更少了,有也是将近10年前的东西了。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2015-2-1 16:47:08 | 显示全部楼层
支持楼主发扬Delphi
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-12-23 03:28

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表