LUA基本3D教程.pdf

  1. 1、本文档共25页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
LUA基本3D教程

LUA基本3D教程(由flashadow 接手翻译,感谢) (原版请见/module- ... c-11229-start-0.psp) 本教程将教你如何在PSP上利用lua创建3D图形。在开始阅读本教程之前请确保你已经了 解: 1.如何编写基本的LUA代码。 2.如何图形化一个3D的平面。 当你结束本教程时你应该能够使用lua的3D函数画出基本的图形,以及如何旋转该图形, 并为该图形添加色彩和纹理。我将使用随lua player一起发布的3D Cube演示版代码和安 德鲁·卡朋特的图形快速库来解释如何在lua中使用3D函数。 建立基本的 3D 脚本 要在lua中使用3D函数首先必须创建一些3D缓存。我们可以使用以下函数达到此目的: 1. Gu.clear() 2. Gu.clearColor() 3. Gu.clearDepth() 4. Gu.clearStencil() 5. Gum.matrixMode() 6. Gum.perspective() 7. Gum.loadIdentity() 复制代码 Gu.clear()函数将清空Color(色彩)、Depth(位深)和Stencil(模板)缓存,或总称 为“绘制缓存(DrawBuffer)”,它们的值由Gu.clearColor()、Gu.clearDepth()和 Gu.clearStencil()函数分别指定。Gu.clear()函数使用下述变量之一获取一个整数值: 1.Gu.COLOR_BUFFER_BIT- 清空Color缓存为Gu.clearColor()函数设定的值。 2.Gu.DEPTH_BUFFER_BIT- 清空Depth缓存为Gu.clearDepth()函数设定的值。 3.Gu.STENCIL_BUFFER_BIT- 清空Stencil缓存为Gu.clearStencil()函数设定 的值。 要正确使用Gu.clear()函数你首先要将清空后需设定的值传递给它。使用下列函数达此目 的: 1.Gu.clearColor()-提取Color.new()函数设定的一个色彩参数。 2.Gu.clearDepth()-提取介于0至255之间的一个整数,0表示无位深,255表 示最高位深。 3.Gu.clearStencil()-本教程不阐述,也可以从0至255之间取值。 Gu.clearColor()函数将现有的绘制缓存清空为指定的色彩值,达到快速清屏至该色彩的目 的。Gu.clearDepth()函数将绘制缓存清空为指定的位深,并告知PSP应将屏幕清空至什么 级别。要创建一个绘制缓存可以使用下面的代码: 1. Gu.clearColor(0) --Clears to black 2. Gu.clearDepth(0) --Clears to the upper most depth 3. Gu.clear(Gu.COLOR_BUFFER_BIT+Gu.DEPTH_BUFFER_BIT) 复制代码 上述代码设置了一个基本的绘制缓存作为你绘图的基础。现在你需要建立起你的矩阵。要 达此目的,你就得用如下函数: Gum.matrixMode(),Gum.perspective() 和 Gum.loadIdentity()。Gum.matirxMode() 函数切换到你要创建的矩阵,你可以传递下述矩 阵之一给此函数: 1.Gu.PROJECTION- 切换至一个矩阵,它告知PSP如何将你的图形绘制到屏幕上 2.Gu.VIEW-切换至一个矩阵,它让用户查看绘制命令的结果。这个矩阵有效地配 置了你将要绘制的“画板”尺寸。 3.Gu.MODEL- 切换至一个矩阵,它让你创建3D图形。你创建的每一个3D图形都 有自己的“model(型号)”,它告诉PSP如何创建对象,绘制的大小,以及需 要时如何调整该对象的长宽。 4.Gu.TEXTURE- 切换至一个矩阵,它让你创建一个可以用于你的对象的纹理。 用下述代码可以为3D图创建一个基础矩阵: 1. Gum.matrixMode(Gu.PROJECTION) 2. Gum.loadIdentity() 3. Gum.p

文档评论(0)

hhuiws1482 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:5024214302000003

1亿VIP精品文档

相关文档