Java-Gaming.org    
Featured games (79)
games approved by the League of Dukes
Games in Showcase (477)
Games in Android Showcase (107)
games submitted by our members
Games in WIP (536)
games currently in development
News: Read the Java Gaming Resources, or peek at the official Java tutorials
 
    Home     Help   Search   Login   Register   
Pages: [1]
  ignore  |  Print  
  Fog  (Read 998 times)
0 Members and 1 Guest are viewing this topic.
Offline Hazzy

Senior Newbie





Fog
« Posted 2012-12-20 17:54:26 »

I'm thinking about trying to create fog for my game but I'm not sure how to go about it.
It's only a 2D game that I'm experimenting with and so far I've been looking into OpenGL Fog but I haven't been able to get that working just yet.

I basically followed this tutorial: http://www.swiftless.com/tutorials/opengl/fog.html just I'm unsure how to get that to work with 2D alongside SpriteBatches (Using LibGDX) and things.

Example of how I'm currently trying to achieve this:
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
public void drawFog(){
      float fogDensity = 0.3f;
      float fogColour[] = {0.5f, 0.5f, 0.5f, 1f};
      gl.glEnable (gl.GL_DEPTH_TEST);
      gl.glEnable(gl.GL_FOG);
      gl.glFogf(gl.GL_FOG_MODE, gl.GL_EXP2);
      gl.glFogfv(gl.GL_FOG_COLOR, fogColour, 0);
      gl.glFogf(gl.GL_FOG_DENSITY, fogDensity);
      gl.glHint(gl.GL_FOG_HINT, gl.GL_NICEST);
      gl.glLoadIdentity();
   }


1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
public void render(float delta){

      gl.glClear(GL10.GL_COLOR_BUFFER_BIT);
      gl.glClearColor(0f, 0f, 0f, 1f);
     
      gl.glViewport((int) glViewport.x, (int) glViewport.y, (int) glViewport.width, (int) glViewport.height);
      cam.update();
      originalCamera.update();
      batch.setProjectionMatrix(relProjection());
       
      drawFog();
     
      batch.begin();
     
      for(int i = 0; i < entities.size(); i++){
         entities.get(i).draw(batch);
      }
     
      batch.end();
   }
Offline davedes
« Reply #1 - Posted 2012-12-20 18:07:32 »

Fog depends on the depth buffer of a 3D scene.

Are you trying to achieve a haze across your screen? Or are you trying to have sprites fade out after a certain distance?

For those kind of effects (in 2D or 3D) you should learn GLSL:
https://github.com/mattdesl/lwjgl-basics/wiki/Shaders

You can probably get away with vertex colors if you need a GL11 solution, but it won't look as good.

Offline Hazzy

Senior Newbie





« Reply #2 - Posted 2012-12-20 18:11:02 »

I'm basically trying to get a 'misty' look on top. Maybe zoom in/out features will be added later so if I can create a nice effect that fades things in/out - that would be pretty cool.
Games published by our own members! Check 'em out!
Legends of Yore - The Casual Retro Roguelike
Offline davedes
« Reply #3 - Posted 2012-12-20 18:13:42 »

Take a transparent 128x128 image of some foggy/misty stuff, draw it at a much larger scale (linear filtering), and have it move across the screen. Then it will look like fog/clouds.

Otherwise start learning shaders if you want something more impressive.

Offline Hazzy

Senior Newbie





« Reply #4 - Posted 2012-12-20 18:17:10 »

Thanks! Smiley

Checking out the GLSL tutorials from the link you gave me. I just don't want to move directly to that yet though so I'll probably take my time with it. Some really impressive looking stuff on heroku, too!
Offline sproingie

JGO Kernel


Medals: 202



« Reply #5 - Posted 2012-12-20 18:23:36 »

Stacking and sliding around a couple layers of mostly-transparent noise gives it a much more realistic effect than just one layer alone.  Keep in mind no effect is free, and ones that involve a lot of blending tend to be much more expensive.
Pages: [1]
  ignore  |  Print  
 
 
You cannot reply to this message, because it is very, very old.

 

Add your game by posting it in the WIP section,
or publish it in Showcase.

The first screenshot will be displayed as a thumbnail.

Riven (20 views)
2014-07-29 18:09:19

Riven (13 views)
2014-07-29 18:08:52

Dwinin (12 views)
2014-07-29 10:59:34

E.R. Fleming (31 views)
2014-07-29 03:07:13

E.R. Fleming (12 views)
2014-07-29 03:06:25

pw (42 views)
2014-07-24 01:59:36

Riven (42 views)
2014-07-23 21:16:32

Riven (28 views)
2014-07-23 21:07:15

Riven (29 views)
2014-07-23 20:56:16

ctomni231 (60 views)
2014-07-18 06:55:21
HotSpot Options
by dleskov
2014-07-08 03:59:08

Java and Game Development Tutorials
by SwordsMiner
2014-06-14 00:58:24

Java and Game Development Tutorials
by SwordsMiner
2014-06-14 00:47:22

How do I start Java Game Development?
by ra4king
2014-05-17 11:13:37

HotSpot Options
by Roquen
2014-05-15 09:59:54

HotSpot Options
by Roquen
2014-05-06 15:03:10

Escape Analysis
by Roquen
2014-04-29 22:16:43

Experimental Toys
by Roquen
2014-04-28 13:24:22
java-gaming.org is not responsible for the content posted by its members, including references to external websites, and other references that may or may not have a relation with our primarily gaming and game production oriented community. inquiries and complaints can be sent via email to the info‑account of the company managing the website of java‑gaming.org
Powered by MySQL Powered by PHP Powered by SMF 1.1.18 | SMF © 2013, Simple Machines | Managed by Enhanced Four Valid XHTML 1.0! Valid CSS!