а не экономить на одной операции в шейдере, переписывая ради этого весь пайплайн по 500 раз
Читать полностью…лучше собрать софт крупными мазками, тогда будет более понятна архитектура и узкие места
Читать полностью…есть ли какойнить простенький рэйтрейсинг движок CPU
который просто модифицировать?
видимо имеется в виду что вычислять какие-то значения в шейдере дешевле/быстрее чем читать эти значения предпосчитанными из текстуры
Читать полностью…Пока нету сил чистить джобсы и модерировать как либо. Так что я беру отпуск ☔️ Пока что в режиме анархии, если никто не заменит.
Читать полностью…renderTarget( 8192x8192 )
RGBAFormat UnsignedByteType: 256 МБ ( рендер в цвет, спектор показал 268МБ как и должно быть. здесь всё хорошо )
DepthFormat UnsignedShortType: 128 МБ ( здесь спектор показал 536МБ, должен ~128+)
1. я отключал depthTexture, но 256МБ уже занято текстурой цвета которую даже удалить невозможно, она возвращается
этой текстуре нельзя даже поменять тип, он всегда будет UnsignedByteType, вот и занимает она 256МБ
2. depthTexture вообще занимает 256, когда должна только 128
та просто он верно посчитал когда я в цвет рендерил, а вот создал депз и всё по пизде (
Читать полностью…подскажите пожалуйста, какая замена multidraw indirect есть в WebGPU? пока что выглядит как будто никакой
Читать полностью…короче в цикле update текстура заново начинает занимать память, не знаю почему
при работе рендертаргета или как хз
если очистить таргет и текстуры и больше не запускать, то память свободна
такое ощущение, что спектор чёт не то пишет, даже виндовс память показывает, что занято всего ~256мб, вместо 500+
отвязал, не помогло
renderer.setRenderTarget(renderTarget[0]);Читать полностью…
const framebuffer = renderer.getContext().getParameter(renderer.getContext().FRAMEBUFFER_BINDING);
gl.bindFramebuffer(gl.FRAMEBUFFER, framebuffer);
gl.framebufferTexture2D(gl.FRAMEBUFFER, gl.COLOR_ATTACHMENT0, gl.TEXTURE_2D, null, 0);
gl.bindFramebuffer(gl.FRAMEBUFFER, null);
renderTarget[0].texture.dispose();
renderTarget[0].texture = null;
renderTarget[0].texture = {};
// память всё ровно выделается на текстуру цвета, хотя её уже не существует даже