最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

godot computer shader 的簡單原理

2023-05-31 23:20 作者:damedown  | 我要投稿

emmm,我這輩子用過最麻煩的玩意兒就是opengl。只要有了它,簡單的代碼,也會變得惡心的要死要死的。當(dāng)然自己封裝就更麻煩了,如果可以不用它,那就最好不用。


如果要在opencl 和 cuda 中要傳一頭大象。那太簡單了。

1、準(zhǔn)備一頭大象

2、告訴gpu我要給一頭大象,有30噸。

3、把大象扔過去。

如果是global,那我想看就看。

如果是device,那就我看不到了,不過但是還可以device to device 復(fù)制。

甚至還可以device to local 復(fù)制回來。



要在opengl中,想起都惡心。

1、準(zhǔn)備一頭大象

2、準(zhǔn)備一個名片裝用來指向保存后的大象的位置

????(常見的 uint VAO,VBO,EBO,F(xiàn)BO,不是我來設(shè)計(jì)的,而是opengl分配后會自動修改這里面的值,而且這個值在本地基本沒用)

3、告訴gpu我要給一頭大象,有30噸,并把準(zhǔn)備好的名片讓opengl填位置。

4、告知這個大象必須放在opengl編號3的倉庫,我之后會專門訪問。

這個單號還用set綁定一下,才能再使用

到時他的layout(set = 0,binding = 3) 就可以訪問params_uniform的數(shù)據(jù)了,這里只是傳入了一個time誒,就是要這樣。

如果大家有幸使用過opengl,uniform都比他簡單。


當(dāng)然不要以為這樣就是他的極限了

fmt:format,要生成一個格式信息,這個format要保存長寬,數(shù)據(jù)類型、已經(jīng)這個數(shù)據(jù)可以怎么用,可以更新的、可以用來存儲的、比特形式傳入(copy_from_bity)

????我不知道一般人會不會有疑問,隨便一個int 難道不能保存?難道不能更新?這已經(jīng)到了脫褲子放屁的最高境界了。

????這就是opengl,如果是一般人,我不推薦用這東東,opencl的入門門檻比這個低一大截,可以說opencl沒有門檻。

????總結(jié)來說:

????_on_GPU_ float* p = new float[30]();

????p.copy_bity_from(base_data_form_CPU);

????數(shù)組p就是指向float[30]的首地址,和他的unifrom存儲的一個意思。

????里面最重要的應(yīng)該就是 uniform_type_image,說明這東東是image。(這里的image在godot中叫texture)


參考:https://github.com/nekotogd/Raytracing_Godot4/blob/master/BasicComputeShader/ray_tracer_simple.gd


總結(jié):如果這東西難度為2,麻煩程度10;opencl的難度為3,麻煩程度為1;


godot computer shader 的簡單原理的評論 (共 條)

分享到微博請遵守國家法律
丰顺县| 安西县| 张掖市| 泰来县| 县级市| 沙雅县| 余干县| 萍乡市| 宁武县| 枣庄市| 邵阳市| 宁城县| 宁河县| 南开区| 武陟县| 衡山县| 余姚市| 聂拉木县| 周宁县| 大埔县| 杭锦后旗| 阿图什市| 宜兴市| 桐城市| 友谊县| 新宾| 克拉玛依市| 枣阳市| 乌兰察布市| 喀什市| 古丈县| 洪洞县| 分宜县| 邵东县| 西峡县| 四平市| 承德市| 桃源县| 和顺县| 凤阳县| 嫩江县|