Java软光栅渲染器-光栅化2D直线

目标 光栅化2D直线(布雷森汉姆直线演算法、吴小林直线算法等) 实现 在前面的基础上,实现光栅化2D直线就简单多了,只需要在 ImageRaster 类中增加一个画线方法即可。具体的实现,我先选择布雷森汉姆(Bresenham )直线算法。 网上相关资料非常多,我参考的是这些文章: Bresenham快速画直线算法 从零实现3D图像引擎:(2)画2D直线不简单 ...

Java软光栅渲染器-光栅化2D点

目标 光栅化2D点(就是在二维数组上画点,了解色彩的基本原理,并解决图像的输出问题)。 定义颜色(ColorRGBA)类 定义图像(Image)类 创建光栅器,实现在数组上画点。 把图像输出到窗口 实现 定义颜色类 创建ColorRGBA类,用来表达一种颜色。每种颜色有red、green、 ...

Java软光栅渲染器-创建窗口

目标 创建一个Java工程。 创建主窗口,用于显示画面。 创建一个实时更新的主循环。 计算并显示FPS。 实现 主窗口 在实现渲染器之前,首先要创建一个窗口,解决图像的输出问题。我的选择是把Swing的JFrame作为主窗口,Canvas用来显示图像。 先创建一个Java工程,建立net.jmecn包,然后创建Screen类。 package net.jmecn; ...

Java软光栅渲染器

开个新坑。 这两天在知乎上搜索关与如何学习图形学的问题,看到了叶神(昵称 Milo Yip)的几个回答: 现阶段应该怎么学习计算机图形学呢? 如何开始用 C++ 写一个光栅化渲染器? 目标 我决定自己动手实现一个Java软光栅渲染器,把整个渲染的过程搞明白。按照叶神的建议,从图形学的历史进程来学习,这样做练习: 2D部分: 光栅化2D点(就是在二维数组上画点, ...

随机多边形地形生成

这个周末,回家学习一个随机多边形地图算法,并试试用Java来实现。 http://www-cs-students.stanford.edu/~amitp/game-programming/polygon-map-generation/ http://www.jianshu.com/p/08e9b772964b 周末工作的进展 这是该项目的仓库。https://github. ...