Size: a a a

pro.graphon (and gamedev)

2020 April 19

VK

Vitaliy ◀️TriΔng3l▶️ Kuzmin in pro.graphon (and gamedev)
выдираю бинарники шейдеров со старого телефона, прогоняю их через дизассемблер от эмулятора Xbox 360, и лезу, куда не надо)
источник

MK

Michael Kharitonov in pro.graphon (and gamedev)
This is some computer wizard shit (c)
источник

VK

Vitaliy ◀️TriΔng3l▶️ Kuzmin in pro.graphon (and gamedev)
Или нифига оно не работает, хз(
источник

VK

Vitaliy ◀️TriΔng3l▶️ Kuzmin in pro.graphon (and gamedev)
#version 100
precision highp float;
uniform vec4 uArray[2];
uniform int uIndex;
void main() {
 gl_FragColor = vec4(uArray[uIndex + int(gl_FragCoord.x)].y, 0.0, 3.0, 1.0);
}

/*    0.0 */       exec   // PredicateClean=false
/*    2   */          serialize
                     mad r0.x___, r_abs[0], c221, c222.zyzw
             +       maxs r0._, c222.wz
/*    3   */          trunc r0.x___, r0.xxxx
             +       maxs r0._, r0.wx
/*    4   */          add r0.x___, c2.xxxx, r0.xxxx
             +       maxs r0._, r0.wx
/*    5   */          maxasf r0._, r0.xx
/*    0.1 */       alloc colors
/*    1.0 */       exece   // PredicateClean=false
/*    6   */          maxasf r0._, r0.xx
/*    7   */          max oC0.__z_, c3.yyyy, c3.yyyy
             +       subs oC0._y__, c3.xx
/*    8   */          max oC0.x__1, c[0+a0].yyzw, c[0+a0].yyzw
             +       maxs oC0._, r0.wx
/*    1.1 */       cnop
По идее, если uIndex = 0, должно в третьей колонке делать фиолетовый, а не синий, потому что c[3].y == 3
источник

VK

Vitaliy ◀️TriΔng3l▶️ Kuzmin in pro.graphon (and gamedev)
(maxasf пишет в адресный регистр a0, тут max x, x вместо mov в целом, s значит scalar, f значит floor)
источник

VK

Vitaliy ◀️TriΔng3l▶️ Kuzmin in pro.graphon (and gamedev)
неужели ограничение какое-то на относительную адресацию, блин
источник

k

kuzy000 in pro.graphon (and gamedev)
Кто-нибудь знает, есть ли разница между vertex buffer vs vertex buffer + index buffer, в контексте вершинного шейдера?

То есть если мы, допустим, рисуем квад используя только vb то вершинный шейдер будет считаться 6 раз (6 же вершин передали), а в случае с индексами 4? Или в любом случае 6 или 4?
источник

k

kuzy000 in pro.graphon (and gamedev)
> Two vertices are considered equal (within a single rendering command) if the vertex's index and instance count are the same (gl_VertexID and gl_InstanceID in the shader). Since vertices for non-indexed rendering are always increasing, it is not possible to use the post transform cache with non-indexed rendering.

Нашел.
источник

Lp

Leebee pen in pro.graphon (and gamedev)
подскажите хочу 3d модель земного шара для игры, скачиваю 3d модели с форматом fbx, obj, dae.
то ошибки исключения выдает, то не создает в monogame buil, даже если всё сделает текстура не накладывается которая имееется  с самой 3d моделью.
источник

AM

Aleksey Muravev in pro.graphon (and gamedev)
Leebee pen
подскажите хочу 3d модель земного шара для игры, скачиваю 3d модели с форматом fbx, obj, dae.
то ошибки исключения выдает, то не создает в monogame buil, даже если всё сделает текстура не накладывается которая имееется  с самой 3d моделью.
RTFM
источник

Lp

Leebee pen in pro.graphon (and gamedev)
какое?
источник

AM

Aleksey Muravev in pro.graphon (and gamedev)
Leebee pen
какое?
Которое по monogame.
источник

Lp

Leebee pen in pro.graphon (and gamedev)
Aleksey Muravev
Которое по monogame.
не нашёл нормальное руководство, может скинушь я почитаю.
источник

AM

Aleksey Muravev in pro.graphon (and gamedev)
Leebee pen
не нашёл нормальное руководство, может скинушь я почитаю.
Monogame это xna по сути. Ты знаешь, что делать.
источник

Lp

Leebee pen in pro.graphon (and gamedev)
ок спс
источник
2020 April 20

M

Mind in pro.graphon (and gamedev)
Вопрос по opengl  + compute shaders.

Пишу wavefront рейтрейсер на compute шейдерах. Делаю фиксированных 4 итерации перед выводом на экран. И если не воткнуть между каждым вызовом шейдера что-то вроде glMapBuffers, glUnmapBuffers( т.е. любой способ доступа к памяти, чтение, запись - роли не играет ), то fps резко падает. Т.е. когда map,unmap есть fps может быть около 200( сцена примитивная ), то без них частота кадров падает до 15-19, хотя загрузка gpu остаётся такой же. Куда копать хотя-бы приблизительно?
источник

M

Mind in pro.graphon (and gamedev)
Повторяется и на intel/linux и на win10/nvidia. Vsync ничего не меняет, flush и синхронизации тоже
источник

d

disba1ancer in pro.graphon (and gamedev)
Mind
Вопрос по opengl  + compute shaders.

Пишу wavefront рейтрейсер на compute шейдерах. Делаю фиксированных 4 итерации перед выводом на экран. И если не воткнуть между каждым вызовом шейдера что-то вроде glMapBuffers, glUnmapBuffers( т.е. любой способ доступа к памяти, чтение, запись - роли не играет ), то fps резко падает. Т.е. когда map,unmap есть fps может быть около 200( сцена примитивная ), то без них частота кадров падает до 15-19, хотя загрузка gpu остаётся такой же. Куда копать хотя-бы приблизительно?
а ты уверен что оно должно выдавать 200 фпс?
источник

M

Mind in pro.graphon (and gamedev)
Ну так оно их выдаёт, фреймтаймы не врут. Зависит от направления камеры, конечно, но местами выходит и так. Местами и 15, если много переотражений и глубина больше 4
источник

d

disba1ancer in pro.graphon (and gamedev)
Mind
Ну так оно их выдаёт, фреймтаймы не врут. Зависит от направления камеры, конечно, но местами выходит и так. Местами и 15, если много переотражений и глубина больше 4
не я про то что твой алгоритм рендера действительно настолько крут что вообще способен выдавать 200 фпс
источник