xcrun metal -c dynShaders.metal -o dynShaders.air
xcrun metallib dynShaders.air -o dynShaders.metallib
< /code>
Содержимое Dynshaders.metal. < /p>
#include
using namespace metal;
#import
[[visible]]
float4 dynamicTestFunction() {
return float4(0.0,1.0,1.0,1.0);
}
< /code>
Далее я загружаю металлиб таким образом. < /p>
let libraryURL = Bundle(for: type(of: self)).url(forResource: "dynShaders", withExtension: "metallib")!
do {
self.dynLibrary = try device.makeDynamicLibrary(url: libraryURL)
print("Library successfully loaded!")
} catch {
print("Failed to load library: \(error)")
self.dynLibrary = nil
}
< /code>
С этим подходом я постоянно получаю ошибку Exc_bad без каких -либо дополнительных разъяснений. Путь существует, файл есть, но ошибка возникает без предоставленной информации. . < /p>
xcrun metal -dynamiclib dynShaders.metal -o dynShaders.metallib
< /code>
Такая библиотека успешно загружается и не производит никаких ошибок. < /p>
Далее я составляю шейдер из текста, где я пытаюсь использовать функция из динамической библиотеки таким образом. < /p>
let compileOptions = MTLCompileOptions()
if let dynLibrary {
compileOptions.libraries = [dynLibrary]
}
let library = try device.makeLibrary(source: source, options: compileOptions)
return library.makeFunction(name: "dynamicShader")
< /code>
Вот как выглядит последний шейдер, тот, который я пытаюсь скомпилировать. < /p>
#include
using namespace metal;
#import
extern float4 dynamicTestFunction();
fragment float4 dynamicShader(VertexIn vertexIn [[stage_in]]) {
float4 color = float4(1.0,1.0,1.0,1.0);
color = dynamicTestFunction();
return color;
}
< /code>
И я всегда получаю ошибку. < /p>
Shader compilation error: Error Domain=MTLLibraryErrorDomain Code=3 "Undefined symbol(s) for architecture 'air64':
'_Z23dynamicApplyMainTexturev', referenced from:
dynamicShader in program_object_0
error: symbol(s) not found for target 'air64-apple-ios18.0.0'
" UserInfo={NSLocalizedDescription=Undefined symbol(s) for architecture 'air64':
'_Z23dynamicApplyMainTexturev', referenced from:
dynamicShader in program_object_0
error: symbol(s) not found for target 'air64-apple-ios18.0.0'
< /code>
Я попытался компилировать с указанной архитектурой, но это не помогло, как это. < /p>
xcrun metal -dynamiclib dynShaders.metal -arch air64 -o dynShaders.metallib
< /code>
Я также попытался добавить архитектуру при создании .air. < /p>
xcrun metal dynShaders.metal -arch air64 -c -o dynShaders.air
Что я делаю не так, и как мне правильно использовать динамическую библиотеку?
Я столкнулся с проблемой; Я не могу подключить динамическую библиотеку к проекту. [code]xcrun metal -c dynShaders.metal -o dynShaders.air xcrun metallib dynShaders.air -o dynShaders.metallib < /code> Содержимое Dynshaders.metal. < /p> #include using namespace metal; #import
[[visible]] float4 dynamicTestFunction() { return float4(0.0,1.0,1.0,1.0); } < /code> Далее я загружаю металлиб таким образом. < /p> let libraryURL = Bundle(for: type(of: self)).url(forResource: "dynShaders", withExtension: "metallib")! do { self.dynLibrary = try device.makeDynamicLibrary(url: libraryURL) print("Library successfully loaded!") } catch { print("Failed to load library: \(error)") self.dynLibrary = nil } < /code> С этим подходом я постоянно получаю ошибку Exc_bad без каких -либо дополнительных разъяснений. Путь существует, файл есть, но ошибка возникает без предоставленной информации. . < /p> xcrun metal -dynamiclib dynShaders.metal -o dynShaders.metallib < /code> Такая библиотека успешно загружается и не производит никаких ошибок. < /p> Далее я составляю шейдер из текста, где я пытаюсь использовать функция из динамической библиотеки таким образом. < /p> let compileOptions = MTLCompileOptions() if let dynLibrary { compileOptions.libraries = [dynLibrary] } let library = try device.makeLibrary(source: source, options: compileOptions) return library.makeFunction(name: "dynamicShader") < /code> Вот как выглядит последний шейдер, тот, который я пытаюсь скомпилировать. < /p> #include using namespace metal; #import
extern float4 dynamicTestFunction();
fragment float4 dynamicShader(VertexIn vertexIn [[stage_in]]) { float4 color = float4(1.0,1.0,1.0,1.0); color = dynamicTestFunction(); return color; } < /code> И я всегда получаю ошибку. < /p> Shader compilation error: Error Domain=MTLLibraryErrorDomain Code=3 "Undefined symbol(s) for architecture 'air64': '_Z23dynamicApplyMainTexturev', referenced from: dynamicShader in program_object_0 error: symbol(s) not found for target 'air64-apple-ios18.0.0' " UserInfo={NSLocalizedDescription=Undefined symbol(s) for architecture 'air64': '_Z23dynamicApplyMainTexturev', referenced from: dynamicShader in program_object_0 error: symbol(s) not found for target 'air64-apple-ios18.0.0' < /code> Я попытался компилировать с указанной архитектурой, но это не помогло, как это. < /p> xcrun metal -dynamiclib dynShaders.metal -arch air64 -o dynShaders.metallib < /code> Я также попытался добавить архитектуру при создании .air. < /p> xcrun metal dynShaders.metal -arch air64 -c -o dynShaders.air [/code] Что я делаю не так, и как мне правильно использовать динамическую библиотеку?
Шейдер металлических фрагментов визуализируется в цель рендеринга, явно возвращая значение float4. Означает ли это, что фрагментный шейдер может отображать только одну текстуру одновременно? Я хотел бы визуализировать сразу две текстуры, обе с...
Я хочу написать программу на C# для визуального осмотра поверхности компонентов. Какие методы можно было бы применить для классификации этих двух изображений с помощью EmguCv? И как я могу установить пороговые значения для классификации изображения...
У меня есть динамическая библиотека, которую я загружаю в iOS. Эта библиотека обернута в библиотеку конкретной iOS через кокопод и SPM. Специфика того, как я создал и загружен, его можно найти здесь. Все работает правильно, и я могу вызвать функции...
Яркость значков строки состояния меняется в зависимости от цвета фона строки состояния в приложении Facebook iOS (18.2) (версия 496.0.0). Он динамически меняется при прокрутке, а также при изменении цвета фона в видео или рекламе.
Кроме того, левая...