w23 / xash3d-fwgs

Vulkan Ray Tracing fork of Xash3D FWGS engine. Intended to be merged into master at some point in the future.
163 stars 16 forks source link

rtx: sprite orientation #171

Open w23 opened 3 years ago

w23 commented 3 years ago

Sprites (and possibly other things) are oriented towards camera in software. This will mess up how they look if a ray comes from other direction (e.g. reflection or bounced GI sample).

Possible approaches:

  1. Generate 2 more perpendicular surfaces. (cheap, will look weird)
  2. Same as above, but only pick the best oriented one (how?!)
  3. Replace all such things with AABB procedural geometries, generate perfectly oriented surfaces in the shader. Relatively easy to do, might look a bit weird at times; may want to play with min/max angles, forcing the sprite to be always relatively perpendicular to the ground.
  4. Completely remaster each sprite case by case. E.g. replace explosions with 3d geometry (as in Q2), do proper volumetrics for other stuff like smoke.
0x4E69676874466F78 commented 3 years ago

@w23

Generate 2 more perpendicular surfaces. (cheap, will look weird) Same as above, but only pick the best oriented one (how?!)

Если просто сделать что оба рендрятся это будет наверное заметно в виде полоски? По идее неплохой вариант делать одну поверхность невидимой испуская от неё только свет, хотя наверное будет заметно по теням что это вовсе не объёмный-сферический объект.

Ещё у меня есть два варианта:

В идеале конечно вариант где объёмные процедурный огонь, дым и т.п., но много работы в особенности для тебя.

0x4E69676874466F78 commented 1 year ago

https://www.shadertoy.com/view/Mtt3Dl что-то подобное для части эффектов.