It looks well, right?haha..

  查看全文 | 发表评论
Tags:

2010年3月9日

2的补码

负数在计算机中如何表示?

什么是2的补码?

2的补码的好处

2的补码的本质

为什么正数加法适用于2的补码?

  查看全文 | 发表评论
Tags: 补码  

2010年1月1日

Happy 2010!

 2010新年快乐!

  查看全文 | 发表评论
Tags:

 

开发过程遇到重重困难,本身缺乏硬件支持的flash,让渲染速度受到严重限制.引擎的光栅化函数没有用到浮点数,用速度更快的定点数取而代之.但却换来溢出的结果.两周时间,都在测试纹理坐标的溢出问题.但始终无法解决根本问题.现在只能将就一下,限制纹理坐标的最大范围来换取速度.

引擎目前只支持warp寻址模式,放出两个demo,稍后会加上mirror等寻址模式.

Demo1:alchemy3d.cn/p/alchemy3d/texTransform/Test8X.html
Demo2:alchemy3d.cn/p/alchemy3d/texTransform/flex_alchemy3d.html

  查看全文 | 发表评论
Tags: 纹理坐标  寻址模式  矩阵  

 

相信大部分引擎开发者也碰到这样一个大问题——使用了alpha混合后出现某些面片的混合颜色不正确,请先让我解释一下问题的原因。

当绘制一个3D场景时, 对图形进行深度排序是非常重要的, 这样离镜头近才画在远处物体的前面. 我们不会希望看到远处的山把近在眼前的建筑给挡住了!

如今有如下排序方法得到了广泛的应用:

深度缓冲 (也叫做 z-buffering)
画家算法
不幸的是, 每种都有其局限性. 为了达到好的结果, 大多数引擎是把三种方法结合起来使用的.而这里只讨论本引擎使用的深度缓冲.

  查看全文 | 发表评论
Tags: 深度缓冲  zbuffer  alpha  

2009年9月30日

地形实现

Alchemy3D地形引擎并不是采用元素图元,而是单个三角形组成网格的形式,做到更精确化的地形坡度。

我们知道 ,每个三角形决定一个面,而每个面的多项式是:

ax+by+cz+d=0

其中a,b,c是平面的法向量x,y,z,d为平面的法向量与三角形第一个向量的点积的负数形式.

我们的目的就是求出a,b,c,d,然后把当前x,z代入多项式即可求出高度y.

而要求a,b,c,d关键需要知道平面的法向量,但是三角形我们已经知道,由此我们就很轻易得得到了y值.

  查看全文 | 发表评论
Tags: 地形  terrain  

Alchemy3D是一款基于Adobe Alchemy技术的Flash 3D引擎,以下是其基本的开发环境:

  1. Cygwin
  2. Adobe Alchemy Toolkit
  3. FlexBuilder
  4. Flex SDK 3.2

一、安装Cygwin

到http://www.cygwin.cn/site/install/下载Cygwin

选择安装以下三个包

  1. Perl
  2. zip
  3. gcc / g++

二、下载Alchemy

http://labs.adobe.com/downloads/alchemy.html下载Alchemy Toolkit

  查看全文 | 发表评论
Tags:

感谢怀念从前在百忙中也写好了MD2的加载器,而本人也几乎在同一个晚上测试完成了3DS的加载器。现在Alchemy3D正式支持此两种格式的模型导入和渲染。当然,这只是一个测试,具体到模型纹理的加载,基于面的光照颜色加载还没有完成,因此以下两个Demo也只能以线框模式来渲染了。

我们一直在努力,不久的将来,一个功能完善、高效的基于Alchemy的引擎将会和各位Flash 3D爱好者见面。

Demo1 : www.alchemy3d.cn/p/alchemy3d/external/Test3DS.html
Demo2 : www.alchemy3d.cn/p/alchemy3d/external/TestMD2.html

  查看全文 | 发表评论
Tags: MD2  3DS  Alchemy3D  

 

Alchemy3D引擎暂时支持了11种光照和纹理混合渲染的模式。先发一个demo,下一篇文章将会详细讲解不同渲染模式下的分别,以及在何种情况下该如使用何种渲染模式。

Demo : alchemy3d.cn/p/alchemy3d/textured/TestRenderMode.html

  查看全文 | 发表评论
Tags: 光照  纹理  Alchemy3D  渲染  

由于引擎在光栅化阶段遇到一个严重问题-当多边形穿越近截面时,特别是当1/z < 0的时候,出现无法估计的错误(可以想象一下当物体在你眼睛后面你还可以看到它的情况),在世界空间内进行了多边形的裁剪工作。最初打算在光栅化阶段进行裁剪,但难以实现,最大的困难在于1/z的函数是双曲线,这使得1/z < 0的时候出现插值错误。

目前的裁剪算法还不成熟,主要表现在裁剪后新创建的多边形法向量不正确,使得光照情况下出现错误。先发一个不太成熟的demo。

Demo : www.alchemy3d.cn/p/alchemy3d/frustumClipping/test.html

  查看全文 | 发表评论
Tags: 近截面  裁剪  
分页(2): « 首页...«12»...尾页 »