如何让一个物体在移动时,迎风面所有点变成另外一种颜色( OpenGL )

[复制链接]
查看11 | 回复5 | 2021-1-27 06:45:37 | 显示全部楼层 |阅读模式

我的目的是这样:现在我实现了一个简单的OpenGL小程序,可以用鼠标或键盘控制窗口内的一个3D模型移动。我希望在这个3D模型移动的时候,假设物体所在的3D空间有空气,所有与空气有正面冲击的面能够自动变色,一旦物体运动结束则物体颜色恢复正常。
上述表述可能不够细致,进一步说:就是让3D模型在运动的时候,3D物体表面所有法线与运动方向夹角小于90度的面都变色。比如说立方体以与其中一面法线平行方向向前移动时,这个面(迎风面)就变色;球体以任意方向运动时,面向运动方向的半个球表面都变色。而在运动结束时颜色就恢复正常。
求教大家这样一个程序如果要实现的话应该怎么做。可以谈谈思路和原理,如果有超级大神觉得这个很简单并且能提供代码的话那太感谢了。。
本帖长期有效,我对这个问题十分认真的,目前我十分需要实现这个程序。欢迎大家来讨论


分 -->
回复

使用道具 举报

千问 | 2021-1-27 06:45:37 | 显示全部楼层
在风的来源方向放置一个不可见的光源即可。
回复

使用道具 举报

千问 | 2021-1-27 06:45:37 | 显示全部楼层
哎我去。。。。。。你这个回答。。。真心有道理哈。。。


回复

使用道具 举报

千问 | 2021-1-27 06:45:37 | 显示全部楼层
引用2楼u011437156的回复:哎我去。。。。。。你这个回答。。。真心有道理哈。。。



那是因为偶的学历是计算机图形图像处理硕士。
回复

使用道具 举报

千问 | 2021-1-27 06:45:37 | 显示全部楼层
你要是还想实现与空气有正面冲击的面有类似运动模糊的效果,请参考VPOST
回复

使用道具 举报

千问 | 2021-1-27 06:45:37 | 显示全部楼层
谢谢你哈!~~很受参考。有机会一定多多指点哦~~~
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行