這個問題在這里已經有了答案: C 定義和實體化有什么區別? (3 個回答) C 物件實體化 (9 個答案) 12 小時前關閉。
我找到了有關 3D perlin 噪聲的代碼:https ://blog.kazade.co.uk/2014/05/a-public-domain-c11-1d2d3d-perlin-noise.html
我從第一塊代碼創建了一個 noise.h 檔案。然后我將第二個塊添加到我的 C 專案中,包括 noise.h 頭檔案,并通過解決方案資源管理器將其添加到我的專案中。
一切都很好,插入的代碼沒有錯誤。問題是我真的不明白如何使用它。他簡單地說:
它使用起來非常簡單,只需實體化一個 Perlin 或 PerlinOctave 實體,然后呼叫 noise(x, y, z); 簡單的。
我對 C 沒有過多的經驗,所以我不知道他所說的實體化是什么意思。但我的嘗試是:
float n = noise(x,y,z);(其中 x,y,z 是我的浮點變數)。
我也試過:
float n = PerlinOctave::noise(x,y,z);(其中 x,y,z 是我的浮點變數)。
Visual Studio 報告錯誤:“不允許命名空間名稱”
他也沒有給出關于如何使用與噪聲函式分開的八度函式的任何說明。
有人對如何使用此代碼有更好的了解嗎?
uj5u.com熱心網友回復:
實體化意味著創建一個物件。作者的意思是你創建一個Perlin物件如下:
uint32_t seed = 42;
noise::Perlin perlin(seed);
然后你可以呼叫noise方法:
for (double x = 0.0; x < 1.0; x = 0.1)
{
std::cout << perlin.noise(x) << "\n";
}
對于PerlinOctave班級也是如此。
如果您要繼續學習 C 語言,退后一步學習 C 的基礎知識可能是值得的。否則,你應該為整個世界的痛苦做好準備。
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/522110.html
標籤:C 视觉工作室柏林噪声
