【源码+文档】绘制太阳系之C语言

一、实验任务

绘制出一个太阳系︰ 要求: 1.有详细的计算步骤 2.至少包含太阳、地球和月亮 3.用 OpenGL 进行绘制 Bonus : 1.用代码实现出可执行的实例 2.绘制出行星的轨道

二、原理和分析

1.OpenGL 材质和光照 OpenGL 在处理光照时把光照系统分为三部分,分别是光源、材质和光照模型。光源、材质和光照模式都有各自的属性,尽管属性种类繁多,但这些属性都只用很少的几个函数来设置: 使用 glLight 函数可设置光源的属性,使用 glMaterial 函数可设置材质的属性,使用 glLightModel*函数可设置光照模式。

GL_AMBIENT、GL_DIFFUSE、GL_SPECULAR 这三种属性是光源和材质所共有的,如果某光源发出的光线照射到某材质的表面,则最终的漫反射强度由两个 GL_DIFFUSE 属性共同决定,最终的镜面反射强度由两个 GL_SPECULAR 属性共同决定。 在 OpenGL 中,仅仅支持有限数量的光源。使用 GL_LIGHTO 表示第 О 号光源,GL_LIGHT1 表示第 1 号光源,依次类推,OpenGL 至少会支持 8 个光源,即 GL_LIGHTO 到 GL_LIGHT7。使用 glEnable 函数可以开启它们。例如,glEnable(GL_LIGHTO);可以开启第 О 号光源。使用 gIDisable 函数则可以关闭光源。一些 OpenGL 实现可能支持更多数量的光源,但总的来说,开启过多的光源将会导致程序运行速度的严重下降。OpenGL 场景中模型颜色的产生,大致为如下的流程图所描述︰

 源码和文档都托管在了【WRITE-BUG数字空间】上面了,有需要的可自取~

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值