metal

    0熱度

    1回答

    我試圖渲染一個像素對齊的2D使用金屬四元組,但似乎無法得到它的權利。 我的頂點緩衝區的內容(如CPU端登錄,在創作)是: Vertex(position: float4(0.0, 0.0, 0.5, 1.0), textureCoordinate: float2(0.0, 0.0)) Vertex(position: float4(0.0, 64.0, 0.5, 1.0), textureCoo

    9熱度

    1回答

    我正在通過Metal iOS Swift示例嘗試理解他們所建議的三重緩衝實踐。這顯示在統一動畫的演示中。 據我所知,它對齊的內存只是從一個特定的增量開始,這個增量是設備真正喜歡的字節數量的倍數。我的困惑是這行代碼 // The 256 byte aligned size of our uniform structure let alignedUniformsSize = (MemoryLayou

    1熱度

    1回答

    我一直在學習了一些基本金屬呈現和我堅持一些基本概念: 我知道我們可以使用頂點數據發送到着色器: renderEncoder.setVertexBuffer(vertexBuffer, offset: 0, index: 0) 然後我們可以找回與着色器: vertex float4 basic_vertex(const device VertexIn* vertexIn [[ buffer(0)

    1熱度

    1回答

    在Objective-C 我嘗試使用此方法在原地對命令緩衝區進行編碼。 -(BOOL) encodeToCommandBuffer: (nonnull id <MTLCommandBuffer>)commandBuffer inPlaceTexture: (__nonnull id <MTLTexture> __strong * __nonnull) texture

    4熱度

    1回答

    我想創建一個適用於METAL Api(iOS)的框架。我對這個平臺很新,我想知道如何構建框架來處理.metal文件(我正在構建一個靜態庫,而不是動態的)。它們應該是.a文件的一部分,還是作爲框架捆綁中的資源文件?或者還有其他方法可以做到這一點嗎?謝謝。 更新: 對於那些誰解決這個 - 我結束了以下warrenm的1所建議的選項 - 轉換的。金屬文件轉換成一個字符串,並調用newLibraryWit

    2熱度

    1回答

    在Metal Best Practices Guide,它指出,爲了獲得最佳性能應該「實現三重緩衝模型更新動態緩衝區的數據,」和「動態緩衝區中的數據是指經常更新存儲在緩衝區中的數據。」 是否一個MTLTexture符合「存儲在緩衝區頻繁更新的數據」,如果它需要每一幀進行更新?以上指南中的所有示例都集中在MTLBuffer s。 我注意到蘋果在MetalKit實現有一個nextDrawable的概念

    2熱度

    1回答

    如果你使用的是iOS金屬,並有自定義編程的對象模型,並(像我)你的模型MDLMesh對象停止與金屬2和iOS 11的問世工作,那麼你可能已經開始研究如何以編程方式生成MDLMesh。 Apple文檔說:「通常情況下,您通過遍歷MDLAsset對象的對象層次結構來獲取網格,但您也可以從您自己的頂點數據創建網格或創建參數化網格。」不幸的是,它沒有提供說明或示例代碼。 你快速找到雙MDLMesh初始化調

    0熱度

    1回答

    詳細說明,我可以在下面有什麼東西嗎? let encoder: MTLRenderCommandEncoder encoder.setCullMode(.front) encoder.drawPrimitives(*) encoder.setCullMode(.back) encoder.drawPrimtives(*)

    0熱度

    1回答

    在GLSL中,我簡單地使用out vec3 array[10];將數組從頂點着色器傳遞到片段着色器。在金屬,但是,我認爲做這種方式: struct FragmentIn { float4 position [[position]]; float3 array[10]; }; 這將產生以下錯誤: Type 'FragmentIn' is not valid for attr

    1熱度

    2回答

    我正在嘗試在ARKit中將對象創建與 SceneKit和Metal集成。有些對象可以用SeneKit和Metal與其他人輕鬆創建,所以我希望能夠並排使用這兩個對象。 例如,使用sceneKit模板創建一個ArKit項目,通過SceneKit節點將一艘太空船作爲演示。另一方面,使用Metal模板在ARKit中使用錨點創建一個多維數據集。 我該如何在同一個項目中使用兩者?例如,通過Metal和具有Sc