C/C++编程笔记:游戏开发中的噪声算法详解,游戏编程常用技术( 七 )
一个问题是 , 当玩家离开一个区块时 , 进入第二个区块 , 然后又回到第一个区块 , 此时玩家期望看到的第一个区块和之前看到的保持一致 。 例如 , 输入1时得到0.3 , 输入2时得到0.7 , 当再次输入1时预期得到0.3 。
因此噪声的一个重要性质是哈希性(可哈希的) 。
尽管使用输入值作为srand()的参数来设置rand()的种子 , 从而达到哈希效果也是可行的 。
然而最好花点时间写一个自己的哈希函数 , 使其简易使用而且也不破坏程序其他地方使用rand()的效果 。
hash11的11代表输入一维坐标 , 输出一维值 。 类似的hash22代表输入二维坐标 , 输出二维值 。
若要了解更多随机性哈希函数实现 , 可参考下面两个shadertoy的代码:
https://www.shadertoy.com/view/4sc3z2
https://www.shadertoy.com/view/4djSRW
推荐阅读
- 游戏笔记本|Dota2-今天又是玛西被削的一天?水友:强度太高,还得接着削!
- 森林之子|双十一性价比风暴来袭,这些性能强劲的笔记本不容错过
- 黑神话|解析《黑神话:悟空》技术看点,RTX 30系笔记本带来极致体验
- 笔记本|红米G笔记本香爆?5000元大作全安排!玩家:这就整超激斗梦境
- 梦幻西游|梦幻西游:找到了当年记录账号的笔记,因为它还被父母混合双打过
- 单机|老旧笔记本轻松畅玩,10款超低配置的经典单机
- 元气骑士|经费炸裂!《元气骑士》新角色比死亡笔记更强,比司铎团更加惊艳
- 地下城与勇士|DNF:韩服6.21开发者笔记,刃影太刀物理固伤,神话合成系统出现
- 国服|第五人格:联动“死亡笔记”?一颗红苹果的期待却与国服彻底绝缘
- Java|Java 地位不保,落后已成定局 ?| 10月编程语言排行