我有一个由Perlin Fractal Noise模式生成的地形,可以产生非常出色的地形.我遇到的问题是X和Z坐标上都有一些奇怪的线条,我认为它与分形生成有关,但是当我生成2D图像时,我看不到任何人工制品.人工线条
地形的生成是通过将地形分成块来完成的,而块又被分割成根据分辨率具有大小的块.
对于每个瓷砖,我以相似的方式为每个角件计算四个角:
float corner1 = mapHeight * fractal( x * tileSize +( posX * (mapSize) ) , z * tileSize +( posZ * (mapSize)) ,25000,0.5,16);
Run Code Online (Sandbox Code Playgroud)
分形函数:
float fractal(int x,int y,float gridSubs,float gain,int octaves){
float total = 0;
float freq = 1.0/gridSubs;
float amp = gain;
for(int f=0;f<octaves;f++){
total += noise(x*freq,y*freq)*amp;
freq *= 2.0;
amp *= gain;
}
return total;
}
Run Code Online (Sandbox Code Playgroud)
编辑:我没有真正得到一个很好的答案,为什么会发生这种情况,但有一种可能性是我对顶点位置有一些奇怪的值(虽然我不应该).
我仍在尝试一些方法来有效地渲染景观,而不会用顶点堵塞我的GPU.通过一些测试,人工制品是最小的,据我所知可能与简单的ligthing在Processing中如何工作有关,如果我仍然无法找到解决方法,我会更新.
如果有人仍然知道一种简单的方法来减少他们对景观的影响或者只是有一个很好的建议那么请在下面发帖:)
由于我在其他地方没有找到太多关于计算着色器的信息,所以我会在这里问。
如何检测/查看计算着色器是否已完成工作?还是假设主线程等待着色器完成?
如果是这种情况,有没有办法让主线程不等待着色器而只在着色器中有一个标志?
我有一个页面将文本文件中的 html 代码加载到 textarea 中,我需要能够使用脚本保存它的内容。
我正在使用 PHP 脚本从文件加载代码并将其回显到 textarea,但是如何将内容发送回脚本并将其保存到同一文件或具有新名称的文件中?
我在想 getElementById 是否会帮助我,但我不确定如何。
加载脚本(它也有删除文件的能力)
// The file hierarchy:
//
//Web root - admin - This file
// - pages - in here are the page text files
// The variable pagesList is the filename chosen in a dropdown list earlier
$page = $_GET["pagesList"];
$action = $_GET["action"];
//get the path to the page( all pages are in a folder named 'pages')
$filename = dirname(dirname(__FILE__))."/pages/".$page;
if(file_exists($filename) and is_file($filename)){
//If I want to load …Run Code Online (Sandbox Code Playgroud)