metalkit

    1熱度

    1回答

    我一直在嘗試將Apple的MetalBasicTessellation項目轉換爲iPad Air 3上的swift 3,但迄今爲止一直不成功。令人沮喪的是,這個項目帶有一個iOS實現(用ObjectiveC編寫,並且是一個快速的操場),但沒有實現。 我得到的代碼進行編譯,但未能與下面的錯誤在我的iPad上運行: 2017-05-14 14:25:54.268400-0700 MetalBasicT

    1熱度

    2回答

    我需要從MDLMeshBufferData實例創建一個MTKMeshBuffer實例。這裏是一個代碼片段: let mdlm = MDLMesh(scnGeometry:sceneGeometry, bufferAllocator:nil) let mdlSubmesh:MDLSubmesh = mdlm.submeshes?[ 0 ] as! MDLSubmesh let mdlInde

    2熱度

    1回答

    我試圖將this shadertoy scene轉換爲Metal Kernel。在shadertoy代碼: void mainImage(out vec4 fragColor, in vec2 fragCoord) { vec3 dir = rayDirection(45.0, iResolution.xy, fragCoord); ... } 在OpenGL情況下,我

    0熱度

    1回答

    我當時正在將抖動應用於簡單的彩色四邊形,並發現了一個奇怪的問題。我有一個片段着色器應該計算一些uv抖動並返回抖動的顏色。這在紋理四邊形上工作正常,但奇怪的是,當我從我的inVertex訪問顏色數據時,uv座標更改爲一些奇怪的值,並且y值似乎映射到了軸的x。我將嘗試說明當我更改片段着色器代碼的內容時會發生什麼。 fragment float4 fragment_colored_dithered(Co

    1熱度

    1回答

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

    0熱度

    1回答

    我一直在試圖將Apple的MetalBasicTessellation項目轉換爲運行iOS 10.3.1的iPhone 6s上的swift 3工作。一切都沒有錯誤的編譯,但在我的iPhone上運行時,我得到的,當我確定renderCommandEncoder以下錯誤: validateAttachmentOnDevice:347: failed assertion `MTLRenderPassDe

    2熱度

    1回答

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

    0熱度

    1回答

    我對面部署金屬呈現循環的鏈條多的 KCS(核心/計算)着色器和VFS(頂點/片段)着色器來: texture -> [KCS -> VFS -> KCS -> VFS] --\ --->[KCS -> KCS] --> presentable texture -> [KCS -> VFS -> KCS -> VFS] --/ 一個着色器的輸出是下一個着色器的輸入。