fake.pdf, возьми и почитай, узнаешь.
Mirrel
Американцам тоже читать? Как они живут без советских переводов своих же статей? А Маску?
fake.pdf, захочешь, найдёшь, не захочешь, ни кто не убедит.
Тролль хренов.
А Маску?
Обязательно :)
Mirrel
Троечник с задней парты, оффнись уже. Чего порвался под постом долларовых миллионеров из США?
fake.pdf, садись "два"!
"отличник" - не умеющий искать и пользоваться информацией.
Mirrel
> Советские
Не соглашусь.
Да и постсоветские в 90х вряд ли были лучше.
Mirrel
> возьми и почитай, узнаешь.
Mirrel
Здесь надо начать с каких-нибудь базовых терминов взятых с буржа в давние времена, но прямо сейчас в голову чот ничего не приходит ...
Mirrel
Зачем ты мне уже неделю отвечаешь, сорокапятилетний миддл? ОП-посту отвечай, что они неправильно миллионы зарабатывают в Гуглах и книги пишут.
endeavour_pr
В 90х, в двухтысячных. Дальше уже резко пошло на спад (в районе 2010), и теперь сплошной мусор везде. Видимо нормальные редакторы кто остались с образованием времен союза вымерли/уволились, и отрасль стремительно деграднула. В целом такая же ситуация и с худ. литературой, ошибок и опечаток столько, что годится только как бумага на растопку дров.
Качнул эту книжку. Так себе. Поверхностно пишут. Больше напоминает комментарии к коду, а не развернутое объяснение. Особенно про pbr и gltf 2.
Ожидал большего от книги 2е издание. А тут всё пишут наспех и поверхностно. Тяп-ляп и готово.
лишь бы продать.
Больше пользы от примеров на гитхабе, чем от книжки.
Blueprint
> Варзесу не показывайте, а то он создаст еще один репозиторий.
Ору
Я вашу книгу вышел.
Проверим, вдруг автор еще следит за темой.
Выглядит как неправильное использование nonuniform
vec4 textureBindless2D(uint textureid, vec2 uv) { return textureLod(nonuniformEXT(sampler2D(kTextures2D[textureid], kSamplers[0])), uv, 0); }
В доках иначе
color = texture(tex[nonuniformEXT(i)], ...);
К тому же данные из push constant не имеет смысла оборачивать в nonuniformEXT, по докам они всегда однородные.
Выглядит как неправильное использование nonuniform
В книге всё это объясняется достаточно подробно. Но выглядит так, будто ты её не читал. 🤦♂️
А в доках вот так:
Constructors and builtin functions, which all have return types that are not qualified by nonuniformEXT, will not generate nonuniform results. Shaders need to use the constructor syntax (or assignment to a nonuniformEXT-qualified variable) to re-add the nonuniformEXT qualifier to the result of builtin functions.
sampler2D как раз такой конструктор, поэтому вокруг него как раз и надо добавлять nonuniformEXT.
ERROR:
Validation layer:
Timeout waiting for timeline semaphore state to update. This is most likely a validation bug. completed_.payload=2 wait_payload=11
ERROR:
Validation layer:
Validation Error: UNASSIGNED-Device address out of bounds
Object 0: handle = 000002CE24ED0210, type = VK_OBJECT_TYPE_QUEUE;
MessageID = 000000001A898625
Device address 0x10d8ac40 access out of bounds. Command buffer (0x2ce33ece790). Compute Dispatch Index 0. Pipeline (0x71a35600000000e9). Shader Module (Shader Module: data/shaders/gltf/animation.comp)(0x2df7c500000000bc). Shader Instruction Index = 399. Stage = Compute. Global invocation ID (x, y, z) = (23, 0, 0 ).
Надо обновить Validation Layers. Я много такого репортил и это пофиксили.