• Announcements

    • khawk

      Download the Game Design and Indie Game Marketing Freebook   07/19/17

      GameDev.net and CRC Press have teamed up to bring a free ebook of content curated from top titles published by CRC Press. The freebook, Practices of Game Design & Indie Game Marketing, includes chapters from The Art of Game Design: A Book of Lenses, A Practical Guide to Indie Game Marketing, and An Architectural Approach to Level Design. The GameDev.net FreeBook is relevant to game designers, developers, and those interested in learning more about the challenges in game development. We know game development can be a tough discipline and business, so we picked several chapters from CRC Press titles that we thought would be of interest to you, the GameDev.net audience, in your journey to design, develop, and market your next game. The free ebook is available through CRC Press by clicking here. The Curated Books The Art of Game Design: A Book of Lenses, Second Edition, by Jesse Schell Presents 100+ sets of questions, or different lenses, for viewing a game’s design, encompassing diverse fields such as psychology, architecture, music, film, software engineering, theme park design, mathematics, anthropology, and more. Written by one of the world's top game designers, this book describes the deepest and most fundamental principles of game design, demonstrating how tactics used in board, card, and athletic games also work in video games. It provides practical instruction on creating world-class games that will be played again and again. View it here. A Practical Guide to Indie Game Marketing, by Joel Dreskin Marketing is an essential but too frequently overlooked or minimized component of the release plan for indie games. A Practical Guide to Indie Game Marketing provides you with the tools needed to build visibility and sell your indie games. With special focus on those developers with small budgets and limited staff and resources, this book is packed with tangible recommendations and techniques that you can put to use immediately. As a seasoned professional of the indie game arena, author Joel Dreskin gives you insight into practical, real-world experiences of marketing numerous successful games and also provides stories of the failures. View it here. An Architectural Approach to Level Design This is one of the first books to integrate architectural and spatial design theory with the field of level design. The book presents architectural techniques and theories for level designers to use in their own work. It connects architecture and level design in different ways that address the practical elements of how designers construct space and the experiential elements of how and why humans interact with this space. Throughout the text, readers learn skills for spatial layout, evoking emotion through gamespaces, and creating better levels through architectural theory. View it here. Learn more and download the ebook by clicking here. Did you know? GameDev.net and CRC Press also recently teamed up to bring GDNet+ Members up to a 20% discount on all CRC Press books. Learn more about this and other benefits here.
Sign in to follow this  
Followers 0
duskndreamz

Headlight Glare for Cars in Racing Game

3 posts in this topic

I am trying to implement headlight glare for cars in a racing game.I have implemented the headlight using Directx shaders spotlight.

The headlight is working fine on the road etc and is not a problem.

The problem is I am required to design a headlight glare for oncoming traffic.
Any suggestions on what direction should I take, as in any frame I have upto 4-5 such cars.

Please guide me to the right path.
Thanks
Amber
0

Share this post


Link to post
Share on other sites
The low-tech way to do it would be to to use "cards", which are textured quads that are billboarded to face the camera. You just place them right in front of the headlights, and use a texture with a glare pattern. You can additively blend them or alpha blend them on top of the scene geometry. To handle cases where the headlights are occluded by other geometry, you can use occlusion queries to determine if the lights are visible. You can also couple this with a couple of cards that are placed on the opposite side of the screen, to get the classic lens flare effect.

A fancier way to do it would be to use screen-space blur kernels, similar to how bloom is usually handled. Instead of a Gaussian blur you could use a kernel that would give you wide streaks or star patterns. There's a sample in the DX SDK (HDRLighting) that does this.

A really fancy way to do it would be to use an FFT to convolve the screen with arbitrary glare/streak kernels, similar to what they did with the 3DMark 2011 demo. This can have really cool results, but is pretty hard to implement. To really do it right you'll need to know your way around compute shaders.
1

Share this post


Link to post
Share on other sites
On this car chase game ([url="http://vimeo.com/20199387"]click for trailer[/url]) we used some really simple techniques like MJP mentions.
To use a frame from the video as an example:
[img]http://farm8.staticflickr.com/7161/6727824559_8f5ec1836c_b.jpg[/img]

[A] are MJP's "cards". We called this same technique "coronas" or "billboard sprites", it's been a common technique in games since forever.
Every frame, I found the location in front of each headlight and drew a rectangle there using additive blending, textured with a glow effect.
To get occlusion working, I drew them with depth-testing disabled (so they would overlap the scene), but hid the whole sprite if the centre was hidden. To implement this hiding/occlusion feature, when drawing the 'sprite' on the CPU, I projected their positions into screen space (by using the projection matrix) and passed this position in as a shader variable. Inside the shader, every pixel sampled the depth-buffer at this same location, and compared the sampled depth against the projected depth. If the sampled depth was closer, then every pixel output black colour instead of the texture colour.

[C] is just a regular bloom shader, which blurs the white headlight geometry a small amount.

[B] is the bloom results applied a second time, but using ([font=courier new,courier,monospace]1-texCoords[/font]) instead, which flips them over the screen to make a fake lens flare.
1

Share this post


Link to post
Share on other sites
[quote name='Hodgman' timestamp='1327013210' post='4904389']
On this car chase game ([url="http://vimeo.com/20199387"]click for trailer[/url]) we used some really simple techniques like MJP mentions.
To use a frame from the video as an example:
[img]http://farm8.staticflickr.com/7161/6727824559_8f5ec1836c_b.jpg[/img]

[A] are MJP's "cards". We called this same technique "coronas" or "billboard sprites", it's been a common technique in games since forever.
Every frame, I found the location in front of each headlight and drew a rectangle there using additive blending, textured with a glow effect.
To get occlusion working, I drew them with depth-testing disabled (so they would overlap the scene), but hid the whole sprite if the centre was hidden. To implement this hiding/occlusion feature, when drawing the 'sprite' on the CPU, I projected their positions into screen space (by using the projection matrix) and passed this position in as a shader variable. Inside the shader, every pixel sampled the depth-buffer at this same location, and compared the sampled depth against the projected depth. If the sampled depth was closer, then every pixel output black colour instead of the texture colour.

[C] is just a regular bloom shader, which blurs the white headlight geometry a small amount.

[B] is the bloom results applied a second time, but using ([font=courier new,courier,monospace]1-texCoords[/font]) instead, which flips them over the screen to make a fake lens flare.
[/quote]

Thank you so much for the guidance.
The directions seems perfect to begin work.

Is it possible if you could guide me to some free samples on the net for reference on the same. That would help me fully understand the concept.
Thanks
0

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now
Sign in to follow this  
Followers 0