当前位置:首页 » 软件开发
开发技术指南» 文章正文
    引言: 采用增量计算如果本次为y列,下一次肯定为y+1列x为x或者x+1取决于增量dy每增加1,d的值相应的增加直线的斜率k,即d=d+k,一旦d>=1时,就将它减去,这样保证d始终在0到1之间。
 

 

 ·关于ibr的一点想法     »显示摘要«
    摘要:新的想法:将场景与物体融合在一起也就是说,场景和物体都使用基于图像的绘制技术将物体的非可用信息透明化。将所拍摄的两幅图像进行比较,看看差多少。多看看图型学方面的东西 ......
 ·3d游戏引擎设计与实现(18)     »显示摘要«
    摘要: 这几天已经封装摄像机类,就可以自由地在地图里行走,目前只是添加了5个自由度的摄像机系统。可以向前,向后,向左,向右,向上,向下,x轴旋转,y轴旋转等5个自由度。基本上,就用这个五个自由度,就可以在3d世界里漫游了。如果再添加碰撞检测,就可以让这个摄像机不会穿墙而过了。 在这里发现,如果没有加载纹理之前,显示线框图,是一个很好的调试方法。 后面接着要写的内容就是怎么样加载纹理,怎么样设置每个顶点的......


J2ME实现图形学之——Bresenham画线
采用增量计算

如果本次为y列,下一次肯定为y+1列 【程序编程相关:遊戲開發心得(3)

【推荐阅读:J2MEGame开发笔记-压缩还是不压缩

x为x或者x+1取决于增量d 【扩展信息:Quake源代碼分析(草稿).1

y每增加1,d的值相应的增加直线的斜率k,即d = d + k,一旦d >= 1时,就将它减去,这样保证d始终在0到1之间.当d大于0.5时,更接近像素(x+1, y+1),而当d<0.5时,更接近像素(x, y+1),令e = d - 0.5, 则当e >= 0时,下一个像素的x下标增加1, 而当e < 0时,x不增加

e的初值为-0.5

因为只用到了e的符号

让e = 2 * e * dx

程序如下:

public void bresenham_line(graphics g, int x0, int y0, int x1, int y1, int color)

  {

    int x, y, dx, dy;

    int e;

    dx = x1 - x0;

    dy = y1 - y0;

    e = -dx; 

    x = x0;


...   下一页
 ·3d游戏引擎设计与实现(16)     »显示摘要«
    摘要: 这几天都在读取bsp文件,当然读取已经不成为问题了,虽然这种文件格式非常难读。一个索引连接着一个索引的。现在数据已经读取进来,但要显示它到d3d里,还是有问题的。因为它是为opengl设计的,所以它的坐标会不同的。怎么样修改才能合适地渲染到d3d里呢?我还在考虑中。 bsp文件是一个平面一个平面保存的,这种平面有可能是三角形,也可能是四边形,也可能是其它多边形。但d3d里只支持三角形,就是说要把......
» 本期热门文章:

©2000-2007 All Rights Reserved. 最佳浏览:1024X768 MSIE