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

目标 光栅化2D点(就是在二维数组上画点,了解色彩的基本原理,并解决图像的输出问题)。 定义颜色(ColorRGBA)类 定义图像(Image)类 创建光栅器,实现在数组上画点。 把图像输出到窗口 实现 定义颜色类 创建ColorRGBA类,用来表达一种颜色。每种颜色有red、green、blue、alpha四个通道,每个通道使用1字节存储,共4字节,正好可以用一个int来表示。 package ...

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

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

Java软光栅渲染器

开个新坑。 这两天在知乎上搜索关与如何学习图形学的问题,看到了叶神(昵称 Milo Yip)的几个回答: 现阶段应该怎么学习计算机图形学呢? 如何开始用 C++ 写一个光栅化渲染器? 我决定自己动手实现一个Java软光栅渲染器,把整个渲染的过程搞明白。按照叶神的建议,从图形学的历史进程来学习,这样做练习: 2D部分: 光栅化2D点(就是在二维数组上画点,了解色彩的基本原理,并解决图像的输出问题)。 光栅化2D直线(布雷森汉姆直线演算法、吴小林直线算法等) 2D直线的剪切算法(见Line ...

随机多边形地形生成

这个周末,回家学习一个随机多边形地图算法,并试试用Java来实现。 http://www-cs-students.stanford.edu/~amitp/game-programming/polygon-map-generation/ http://www.jianshu.com/p/08e9b772964b 周末工作的进展 这是该项目的仓库。https://github.com/jmecn/PolygonalMapGen 我实现了随机多边形的生成,做的过程中发现这一步与以前做2D森林地图的算法是相似的。只不过这个算法的结果是生成网状图, ...

关于重构jME3教程

今年夏季,我写了一套"jME3初学者教程",本意是想让学习jMonkeyEngine的初学者能够有一套比较容易入门的参考资料。写作的过程中,我尽自己所能,希望把我所了解的jMonkeyEngine介绍清楚。不过,目前来看,并没有达到我的预期目标。所以我想在明年抽空把它重构。 重构的主要原因,是这套教程没有区分知识的难度。虽然名为“初学者”教程,但是从读者反馈来看,文章中夹杂了大量不适合初学者的内容。其实我在刚开始规划这套教程的时候,并不打算写这么多。由于我的心理负担比较重,编写时总觉得必须先介绍某些原理,否则说不清楚。再者,我本人也是一个游戏开发的初学者,想借个机会把这两年的学习经验总结一下, ...