好玩的视觉系交互屏保-Huna


“小立”(Vanilla)经常会用业余的时间来创作,挑战自己的极限,并与DM分享他的成果。
这次收到他的这个Demo作品-Huna,还是很惊艳的。我相信在互动江湖隐居着很多像小立一样的大侠。各位大侠可以把你们的成果展示出来,相互探讨,相互学习。

“Huna”是“小立”最近突发奇想一个3D视觉互动屏保。由processing制作,即时使用opengl绘制画面。
它是一个小小地球与人的一个表现,小人会自动的跑到某处开始洒水播种,然后四周便会开满鲜花。

操作提示
你可以用空格键和方向键来控制。空格键来种花,方向键来控制地球的转动。

技术解决:
这次制作遇到的困难就是在OpenGL模式下使用透明贴图材质的问题。由于processing并未采用良好的depth-sort,所以OpenGL在处理透明贴图的时候,透明材质的透明部分颜色叠加发生了问题,错位了,因为他在未经过depth-sort的时候已经进行了绘制。

目前我找到的解决方法有两种,
1.等待新的优化过的depth-sort算法。先经过深度排序,再进行绘制。(经测试可以,但是目前的原生depth-sort效能糟糕)

2.启用OpenGL的GL_ALPHA_TEST,将材质alpha小于某个值的像素排除在zbuffer外,等于是材质扣背了,效能很好,效果也不错。
gl.glAlphaFunc(GL.GL_GREATER, .5);
gl.glEnable(GL.GL_ALPHA_TEST);

demo version for XP/Vista/Win7 32位(需要安装Java Runtime,点此下载)
http://spinning.drivehq.com/processing/hana/hana.windows.zip

你可以直接访问 Vanilla @ Interactive与小立一起探讨,并查看他的更多作品,我相信你会收获很多的。




6 Comments

Have Your Say »

Required

Required, never published

无觅相关文章插件,快速提升流量