metal

    2熱度

    1回答

    我在Metal中與Swift一起實現多個內核函數時遇到問題。 我的目標是在圖像上實現逐塊DCT變換。 DCT用兩個矩陣乘法實現。 J = H * I * H^-1 下面的代碼顯示的內核函數本身和在迅速代碼所使用的呼叫。如果我單獨運行每個內核函數,它都可以工作,但是我無法將寫緩衝區從第一個內核函數交給第二個函數。因此,第二個函數總是會返回一個只填充0的緩衝區。所有圖像輸入和輸出緩衝區都是400x40

    0熱度

    1回答

    這必須是一個愚蠢的錯誤,但什麼可能是locationInView總是返回我ViewController的touchesBegan或touchesMoved方法(0.0, 0.0)的原因是什麼? userInteractionEnabled設置爲true,所以這不能成爲理由.. 我工作在一個斯威夫特金屬項目。視圖的唯一子視圖是一個UIImageView(其.image屬性包含金屬GPU渲染的結果 編

    2熱度

    2回答

    我正在使用 id<MTLBuffer> vertexBuf = [device newBufferWithLength:count * sizeof(float) options:0]; 如何釋放vertexBuf內存,它會大幅增加內存。在蘋果的文檔中,沒有提示要釋放MTLBuffers。在我的情況下,我不能再次使用它。我試過vertexBuf = nil;沒有改進,我不能使用[vertexBuf

    1熱度

    1回答

    我已經獲得了下面的着色器(爲了長度和清晰度而刪除了這些作品),並且希望找到更好的方法來完成此操作。我想將大小可變的紋理數組發送到我的金屬着色器。我將對頂點位置進行一些計算,然後確定要使用的紋理。 目前我剛硬編碼的東西,並使用幾個if語句,但這是醜陋的(我猜測不快)。有什麼方法可以計算i,然後用i作爲紋理下標(如tex[i].sample)? // Current code - its ugly

    1熱度

    1回答

    我正在使用openGL ES渲染處理iOS應用程序。我們正在對金屬的支持,我們正在經歷的上與iOS 7.1設備應用程序啓動崩潰(我們定位到iOS 7.1+設備) 使dyld:庫未加載: /系統/資源庫/框架/金屬。框架/金屬 看起來即使Metal.framework仍然在我們的應用程序未使用的,應用程序嘗試將其和崩潰加載如在ios7不是一部分的框架。 只有在設備是ios8 +的情況下,我們如何動態

    1熱度

    2回答

    我正在實現裁剪視頻幀的自定義視頻合成器。目前我使用Core Graphics來執行此操作: -(void)renderImage:(CGImageRef)image inBuffer:(CVPixelBufferRef)destination { CGRect cropRect = // some rect ... CGImageRef currentRectImage = C

    3熱度

    1回答

    我想使用一個Metal着色器來將場景/單元格着色應用於場景中使用的材質。我試圖實現的着色器是在MetalShaderShowcase中找到的Apple自己的AAPLCelShader。我在SceneKit中實現着色器有點新,所以我可能會做一切完全錯誤的。 根據我在文檔中的瞭解,Metal或GL着色器可用於修改從iOS 9和Xcode 7開始的SceneKit渲染。文檔表明這與GL着色器以相同的方式

    1熱度

    2回答

    我遇到了一個問題,它會在具有不同統一參數的不同對象上重複使用我的金屬像素和頂點着色器。我猜測它的錯誤使用我的命令緩衝區有問題。 當我跑我的金屬應用,幾何正確繪製,但只有工作服的最終調用 renderCommand setFragmentBuffer:uniform_info offset:0 atIndex:UNIFORM_INFO_BUFFER_INDEX]; 似乎將數據寫入到像素着色器。 我在

    1熱度

    1回答

    我有一個非常慢的工作金屬應用程序,需要運行得更快。我相信問題是我創建了太多的MTLCommandBuffer對象。 我創建這麼多MTLCommandBuffer對象的原因是我需要向像素着色器發送不同的統一值。我粘貼了一段代碼來說明下面的問題。 for (int obj_i = 0 ; obj_i < n ; ++obj_i) { // I create one render c

    3熱度

    3回答

    我試圖獲得一個簡單的渲染相機輸出到金屬層管道,它在Objective-C(有MetalVideoCapture示例應用程序)中工作得很好,但當我嘗試將其翻譯爲swift時,似乎會出現一些格式不正常的情況。我ultrasimple捕獲緩衝看起來像這樣(忽略缺乏消毒的...) func captureOutput(captureOutput: AVCaptureOutput!, didOutputSa