Jump to content
  • Advertisement

Archived

This topic is now archived and is closed to further replies.

Dark_Guy

Multiple questions ! (>> Special Effects <<)

This topic is 5581 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

Ok, i''ll jump right into it then. 1.) What is motion blur, and how do I create it in DirectX8 ? 2.) Have you guys seen 3DMark2000 ? It has a speccial effect, that renders a 3D Mesh, and the mesh itself it''s not visible, but it allows a background image to be seen. I want to do the same. For example if there is a background image, and it is not visible. But now, a sphere is rendered in front of it, and so the viewer will see a circle portion of the background...(hope I mademyself clear) 3.) My direct3D programmes always crash on any platform, if I include a MenuSystem. What would be the right way of handleing heavy loadings, AND menus ? 4.) Where could I find tutorials on using the Alpha bending effects ? I did some experimentation, but I can never figure out how to combine theese effects to get what i want... 5.) What kind of special effects are there ? I am working on a DEMO, and I would like to have a really LOT of theese effects, but can''t seem to find them... Oh well, that''s about it for now ! Bye, Robert

"Find the path, follow the Master... Follow the master, understand the master... Overcome the master !"

Share this post


Link to post
Share on other sites
Advertisement
Guest Anonymous Poster
Direct3D doesn''t include any "special effects", you have to create those yourself using textured triangles and whatever you''ve got.. use your imagination

Share this post


Link to post
Share on other sites
http://www.flipcode.com/demomaking/

take a look here for inspiration, then try to move it into the world of direct3d. good luck!

Share this post


Link to post
Share on other sites
quote:
Original post by Dark_Guy What is motion blur, and how do I create it in DirectX8 ?
This is a simulation of the shutter time artefact. In reality, the camera shutter is opened for some time and when objects move a lot during that time, they will leave a trail on the film instead of a detailed picture. You can fake this effect by rendering your objects multiple times (at different positions during the shutter time) and applying a transparency factor before you blend the resulting images together. You can also create N instances of the same object you want to blur, apply a 1/N transparency factor on their materials, and move them differently in front of the camera. That''s pretty much how Pixar does it.

You can also wiggle your head rapidly left and right when looking at the screen. It''s cheaper, CPU-wise...|8-}

-cb

Share this post


Link to post
Share on other sites
Guest Anonymous Poster
cbenoi1: i''m sorry, but that is the most bloated motionblur implementation i''ve ever heard. pixar probably used it cos they did it non-realtime. but you can do a decent motionblur like this:

1) copy your old frame multiplied by factor alpha to your current screen
2) now draw your new frame first in a temporary frame
3) add this tempory frame multiplied by (1-alpha) to your current frame

0<alpha<1, the smaller, the more blur is introduced..

sure, this isn''t incredibly accurate, but it''s enough for any realtime 3d engine imho and way cheaper and simpler.

using your (pixar?) method is indeed applicable in more situations though: vertical/horizontal blurring on text for instance.

Dark_Guy, demofx: alpha blending, fire, metaballs, particles, radial blur, water. just a small selection..

earx

Share this post


Link to post
Share on other sites
quote:
Original post by Anonymous Poster
cbenoi1: i''m sorry, but that is the most bloated motionblur implementation i''ve ever heard. pixar probably used it cos they did it non-realtime. but you can do a decent motionblur like this:

1) copy your old frame multiplied by factor alpha to your current screen
2) now draw your new frame first in a temporary frame
3) add this tempory frame multiplied by (1-alpha) to your current frame

0
sure, this isn''t incredibly accurate, but it''s enough for any realtime 3d engine imho and way cheaper and simpler.



This is not motion blur. This is just a feedback effect. Motion blur is when a single frame contains information from within that frames time-step. The method you describe contains no extra information that the viewer hasn''t already seen. Mind you, games have used this effect for years (Magic Carpet had it, and almost every PS2 game has it ). It''s a good way of softening the image a bit, but it really shouldn''t be classed as motion blur - that''s quite misleading!

There are some NVidia and ATI demos that implement fake motion blur in a vertex shader (stretch the object and alpha out the tail), but they require everything to be alpha blended which would be a huge headache in a real game...

HTH

Matt Halpin

Share this post


Link to post
Share on other sites
quote:
Original post by Dark_Guy
2.) Have you guys seen 3DMark2000 ? It has a speccial effect, that renders a 3D Mesh, and the mesh itself it''s not visible, but it allows a background image to be seen.
I want to do the same.
For example if there is a background image, and it is not visible. But now, a sphere is rendered in front of it,
and so the viewer will see a circle portion of the background...(hope I mademyself clear)


Stencil buffer? They probably render the object to the stencil buffer, with stencil writes only and then draw the the background as normal with a stencil test.

Share this post


Link to post
Share on other sites

  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

Participate in the game development conversation and more when you create an account on GameDev.net!

Sign me up!