Multiple questions ! (>> Special Effects <<)

Started by
17 comments, last by Dark_Guy 21 years, 1 month ago
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 !"
"Find the path, follow the Master... Follow the master, understand the master... Overcome the master !"
Advertisement
Oh ! By the way ! I code in Visual Basic 6 !!!!
I think it is important to mention
"Find the path, follow the Master... Follow the master, understand the master... Overcome the master !"
Direct3D doesn''t include any "special effects", you have to create those yourself using textured triangles and whatever you''ve got.. use your imagination
I know that ! I was wondering what kind of "basic" effects are there. (motion blur is one of them)
"Find the path, follow the Master... Follow the master, understand the master... Overcome the master !"
http://www.flipcode.com/demomaking/

take a look here for inspiration, then try to move it into the world of direct3d. good luck!
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

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
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

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.
quote:Original post by Dark_Guy
My direct3D programmes always crash on any platform


Eh... DirectX isn''t cross platform!

This topic is closed to new replies.

Advertisement