То, что я пытаюсь сделать,-это написать текстуру хранения в одном проходе рендеринга, а затем прочитать из этой текстуры во втором проходе, но значение, которое я получаю во втором проходе, всегда одинаково, независимо от того, что я пишу в первом проходе.
То, что я ожидал получить во втором проходе A.R == 1 , поэтому все фрагменты полученного изображения должны быть красными, но я на самом деле получаю A.R == 0 , и все фрагменты черные. Ошибка, функция Texturestore не вызывается. Прямо сейчас я даже не могу понять, какой из этого случая у меня есть, но я не вижу, как может быть ошибка прочтения/записи с предопределенным местоположением.>
То, что я пытаюсь сделать,-это написать текстуру хранения в одном проходе рендеринга, а затем прочитать из этой текстуры во втором проходе, но значение, которое я получаю во втором проходе, всегда одинаково, независимо от того, что я пишу в первом проходе.[code]const storageTexture = this._device.createTexture({ dimension: '2d', size: [512, 512, 1], format: 'r32float', usage: GPUTextureUsage.STORAGE_BINDING })
return in.position; } < /code> Fragment Shader Code для второго прохода: < /p> @fragment fn fragment_main(in: VertexOutput) -> @location(0) float4 {
let a = textureLoad(texture, vec2u(0, 0), 0);
return vec4(a.r, 0, 0, 0); } [/code] То, что я ожидал получить во втором проходе A.R == 1 , поэтому все фрагменты полученного изображения должны быть красными, но я на самом деле получаю A.R == 0 , и все фрагменты черные. Ошибка, функция Texturestore не вызывается. Прямо сейчас я даже не могу понять, какой из этого случая у меня есть, но я не вижу, как может быть ошибка прочтения/записи с предопределенным местоположением.>
Я организовал свой проект так, что некоторые общие функции хранятся в отдельных файлах .wgsl. Я могу загрузить их и динамически скомпоновать в одну строку самостоятельно, но тогда строки, сообщающие об ошибках WGSL, будут относиться к началу...
Я отрисовал два круга и хотел вывести первый круг на передний план, увеличив его z-индекс. Однако после включения тестирования глубины фон первого круга стал прозрачным.
нажмите на демо и нажмите кнопку «Запустить».
демо
демо p>
Я просто хочу...
Я использую emscripten 3.1.59.
Когда я делаю вызовы webgpu, некоторые из вызовов, сделанных из слоя C ++, приводит к значению строки мусора в слое JS.
В качестве примера я вызов wgpuinstancecrecraface . Это:
1 -й звонок: входящий #mytarget
2 -й...
Я делаю базовый прямой рендеринг в Webgpu, который поддерживает несколько типов источников света и создания тени. Когда я выяснил часть тени, я связывал Shadowmaps с ShadowPass, писал им значения глубины, а затем прочитал эти значения в проходе...