Как то было даже интересно посмотреть как именно они реализовывают эти свои цвета радуги, но не доходили руки...
Однако дошли и до очень IMHO неплохой вещи - Devil May Cry, ее 4й части.
Оказалось particle машина у них, японцев работает во всю и даже чуть больше,шире и с большим набором красок, включая ядовито-какие-то...
Много конечно реализовывается с помощью "правильно продуманых" mesh-ей и дальше уже шейдеры - например полет мечя вверх лихо повторяется подготовлеными mesh-ами, причем в несколько проходов...
Использование ессно alpha и немного другого зелья...
Как именно все подготавливалось, прорисовывалось и пост-обрабатывалось скорее всего выльется в отдельных пост, там и просто и по-разному...
Надо будет еще что то поразбирать "в винтики"...
Update: последний в видео пост-эффект, по-сути, это ессно довольно простой pixel/fragment shader:
// Buffer Definitions: // // cbuffer FilterBlur // { // // float gXfBlurStart; // Offset: 0 Size: 4 // float gXfBlurWidth; // Offset: 4 Size: 4 [unused] // float2 gXfScreenCenter; // Offset: 8 Size: 8 // float gXfAlpha; // Offset: 16 Size: 4 // // } // // // Resource Bindings: // // Name Type Format Dim Slot Elements // ---------------- ---------- ------- ----------- ---- -------- // PointSampler0 sampler NA NA 0 1 // LinearSampler1 sampler NA NA 1 1 // PointSampler0TEXTURE texture float 2d 0 1 // LinearSampler1TEXTURE texture float 2d 1 1 // FilterBlur cbuffer NA NA 0 1 // // // // Input signature: // // Name Index Mask Register SysValue Format Used // ---------------- ----- ------ -------- -------- ------ ------ // SV_POSITION 0 xyzw 0 POS float // TEXCOORD 0 xy 1 NONE float xy // TEXCOORD 1 zw 1 NONE float // // // Output signature: // // Name Index Mask Register SysValue Format Used // ---------------- ----- ------ -------- -------- ------ ------ // SV_TARGET 0 xyzw 0 TARGET float xyzw // ps_4_0 dcl_input linear v1.xy dcl_output o0.xyzw dcl_constantbuffer cb0[2], immediateIndexed dcl_sampler s0, mode_default dcl_sampler s1, mode_default dcl_resource_texture2d ( float , float , float , float ) t0 dcl_resource_texture2d ( float , float , float , float ) t1 dcl_temps 2 add r0.xy, v1.xyxx, -cb0[0].zwzz mad r0.xy, r0.xyxx, cb0[0].xxxx, cb0[0].zwzz sample r0.xyzw, r0.xyxx, t1.xyzw, s1 sample r1.xyzw, v1.xyxx, t0.xyzw, s0 add r0.xyzw, r0.xyzw, -r1.xyzw mad o0.xyzw, cb0[1].xxxx, r0.xyzw, r1.xyzw ret
No comments:
Post a Comment