metal

    1熱度

    1回答

    我需要在STL中爲我的金屬計算內核所描述的upper_bound的實現。由於沒有金屬標準庫什麼,我基本上是從<algorithm>它複製到我的着色器文件像這樣: static device float* upper_bound(device float* first, device float* last, float val) { ptrdiff_t count = last - f

    3熱度

    1回答

    我已經設置了一個測試項目來學習iOS上的Metal來做一些渲染,但是我對如何使棱鏡正確地圍繞其y軸旋轉有點困難。 這裏是沒有深度的測試渲染棱鏡使各方可以看到,所以它看起來像這部分至少是正確的: 這些頂點: static const float vertexData[] = { 0.f, 1.f, 0.5f, 1.f, -1.f, 0.f, -1.f, -1.f, 0.

    5熱度

    1回答

    我想創建一個使用金屬的程序遊戲,並且我正在使用基於八叉樹的塊方法來實現細節級別。 我正在使用的方法涉及CPU爲地形創建八叉樹節點,然後使用計算着色器在GPU上創建其網格。該網格存儲在塊對象中的頂點緩衝區和索引緩衝區中用於渲染。 所有這些似乎工作得很好,但是當涉及到渲染塊時,我很早就遇到了性能問題。目前,我收集一系列塊來繪製,然後將其提交給我的渲染器,這會創建一個MTLParallelRenderC

    3熱度

    1回答

    我無法找到保留CAMetalLayer支持的方法,因爲nextDrawable每次都從池中提供不同的MTLTexture。即使我在渲染過程描述符上設置了適當的loadAction和storeAction,也不會發生備份。內容閃爍爲紋理由nextDrawable調用交換。 我想要在OpenGL ES中與kEAGLDrawablePropertyRetainedBacking類似的行爲。 有人想出了這

    3熱度

    2回答

    對於全景查看應用程序,我想在UICollectionView中並排顯示多個全景圖。單個全景圖被表示爲立方體貼圖紋理。渲染是使用Scene Kit完成的。 當使用單個SCNView時,應用程序性能良好。當我並排實例化多個SCNView時,所有SCNViews的幀頻直線下降到幾乎每秒一幀。 GPU和CPU利用率幾乎爲零。 單SCNViews的佈置在下面可以看到: 我觀察到每個SCNView產生一個單獨

    1熱度

    1回答

    我想顯示一個紋理加載MTKTextureLoader,我有一個緩衝區,存儲我的頂點座標(我建立兩個三角形有一個矩形,其中顯示我的形象),然後我有一個存儲每個頂點紋理座標的緩衝區。 我做了一個採樣器從我的紋理中採樣數據,問題是我什麼也沒有(黑色圖像)。 我推出了Swift代碼,以防萬一我的錯誤來自那裏,但我認爲它來自金屬代碼。如果你看一下我的片段着色器,你會看到兩個意見,他們表現出的東西,我不明白:

    3熱度

    1回答

    我遇到了一個問題,我只想渲染兩個三角形(每個都存儲在單獨的緩衝區中),Metal API拒絕嘗試渲染第二個頂點緩衝區。我懷疑這是關於對齊。斷言消息是對於vertexArray [0],索引爲0的緩衝區綁定失敗的斷言'(長度 - 偏移量)(0)必須>> 32「。下面的代碼: 頂點和常量結構: struct VertexPositionColor { VertexPositionColor

    1熱度

    1回答

    我已經獲得了一個只能在GPU中訪問的3D紋理,我正試圖在幀開始時清除它。我已經嘗試使用計算機着色器將每個元素都設置爲零,但對於64x64x64紋理,這需要將近3ms,並且我想使用比這更大的東西。 如果我可以做一些類似於顏色附件的清除有效操作,那將是非常好的,但我不認爲在這種情況下這是可能的。 什麼是清除紋理的最快方法?

    2熱度

    1回答

    有誰知道如何在iOS中使用Metal製作一個球體? 我跟着這tutorial學習一些金屬材料。 但我無法安靜地弄清楚如何渲染3D球體。

    3熱度

    1回答

    我想創建一個簡單的iOS插件,它可以將紋理繪製到統一Texture2D。我已經通過CreateExternalTexture()和UpdateExternalTexture()完成了,它工作正常,但我很好奇,是否可以直接從iOS端填充Unity紋理。這裏是我的iOS插件代碼: // // testTexturePlugin.m // Unity-iPhone // // Created b