• Advertisement

Sytto

Member
  • Content count

    6
  • Joined

  • Last visited

Community Reputation

141 Neutral

About Sytto

  • Rank
    Newbie

Personal Information

  • Interests
    Programming
  1. Exponential VSM problem

    Thank you very much for your answer, it really makes sense to me :). Im thinking how to "fix" this, maybe adding a proxy geometry (like a plane) under the terrain could fix this issue. If anyone has a better idea i´d be glad to read it
  2. Hi guys I´m having real troubles implementing Exponential VSM and I need someone to tell me whether this is a bug or an expected behaviour. In my scene, I have several shadow casters and a terrain that doesn´t cast shadows. For creating the VSM, i do the following thing: First, i do a depth prepass without any color outputs, from lights point of view. Secondly, i transform the depth to the exponential VSM format in a separate fullscreen pass, outputting R=WarpedDepth, G=WarpedDepth*WarpedDepth. (my implementation is exactly the same as in MJP´s great article ) Next, i apply a separable gaussian blur to the VSM shadow map. Lastly, i apply the shadow and lighting to my scene. Everything works fine, as long as the shadows are casted to other shadow casters, it looks smooth and great. But when the shadows are casted on the terrain (or any object which is not in the shadowmap) the VSM seems to work pretty bad, is this an expected behaviour ?. Here are some pics that show the problem: Left small cube = smooth shadow, since the shadow is being casted on the bigger cube Right small cube = horrible shadow, in this case, having a big gaussian blur kernel even makes the problem worse (it makes the shadow smaller, but not smoother!). Here is another pic with more detail. Notice how the rooftops have super nice and smooth shadows, but the terrain (roads, etc) and basically every shadow casted on an object that doesn´t cast shadows is ugly. In the pics i made the shadowmap resolution smaller to better show the problem. But the problem is also noticeable using a 2048x2048 shadowmap Am i doing something terribly wrong or this expected behaviour ? Any help is appreciated, many thanks!
  3. Hello guys, I'm trying to integrate SMAA T2X (in OpenGL) in my project.   I got the SMAA 1x working very fast. However, I'm struggling to make the SMAA T2X version to work.   I have a set of 2 framebuffers representing the "previous" and "current" neighbourhood blending pass, just like in the SMAA DX10 demo  (https://github.com/iryoku/smaa/tree/master/Demo/DX10). The documentation of the shader tells to render the geometry using subpixel jitters (https://github.com/iryoku/smaa/blob/master/SMAA.hlsl). For this, I create a jittering matrix which I apply in this way      MVP = Projection * View * Model * JitteringMatrix; glm::vec2 jitter = getJitter(); glm::mat4 jitter_mat = glm::translate(glm::mat4(), glm::vec3(2.0f * jitter.x / float(width_), 2.0f * jitter.y / float(height_), 0.0f)); the getJitter function returns the jittering depending on the current frame of SMAA glm::vec2 jitters[] = { glm::vec2(-0.25f, -0.25f), glm::vec2( 0.25f, 0.25f) }; return jitters[frame_index_]; However, the jittering matrix seems to be moving some geometry of my scene a little too much. Some objects start to shake after I apply this matrix. But this shouldn't happen since the jittering matrix should move the geometry less than a pixel (subpixel) so it shouldn't be noticeable. Here's a short video showing the problem. I don't really know if the jittering process is causing the problem or if I'm doing something wrong in another step. https://vid.me/uQq9   Thank you very much for your help!   EDIT: I think I solved the error. I should multiply the jittering matrix on the left side (JitteringMatrix * P * V * M); doing this solved the problem. However at low framerates the whole image starts to jitter (only a bit), is this normal?   
  4. Hello there, first of all, I'm not sure if my question fits in this forum, if not, feel free to move it and sorry about it   .   So I'm doing a "game engine" as a project for a subject in my career. The teacher said it would be nice to support forward and deferred rendering at the same time, similar to what Unity does.   My question is. How would achieve this to be scalable, to support any rendering path in the future without having to change anything of the previous code? My teacher named a thing called a "composer" but I'm not familiar with this, I searched a lot but didn't find anything.   I don't need example code, just an advice on how to structure the engine correctly.   Thank you, your help is very much appreciated
  5. [quote name='Washu' timestamp='1336253793' post='4937665'] You should be using, last I recall, the NIO sockets. [/quote] thank you very much, didn't know about this! [quote name='SimonForsman' timestamp='1336253844' post='4937666'] First of all, Transformice is not an MMO, (each game has a very low number of players so you don't need to deal with MMO scale networking for this type of game). What you should do is have one master server for the "lobby" and then run multiple game servers, They can but doesn't have to be on the same machine but needs different ports and should be handled by their own instance of the server application. Have the master server keep track of how many instances of the game server each node is running and launch new ones as needed on the least busy node, (You can have game servers report their nodes status to the master server for this purpose) For the game servers 1 or 2 threads are enough, (having one thread that only waits for new connections and one that runs the game can simplify things slightly) [/quote] I'm not sure if I understand your post. Do you mean that rather than spawning a new thread per client connected, I run some kind of game server node for handle the new client connected ? Or do you mean these game server nodes should be able to handle more than one client ? Because that is what really I was wondering. I can't figure out a way for handling multiple clients without spawning a new thread for each connection. Maybe I'm a little bad for these things [img]http://public.gamedev.net//public/style_emoticons/default/tongue.png[/img] also thank you very much for your answer too! Regards.
  6. hi [img]http://public.gamedev.net//public/style_emoticons/default/tongue.png[/img] first of all, this is my first post! second, i read the FAQ's, but my doubts are still there [img]http://public.gamedev.net//public/style_emoticons/default/sad.png[/img] So I'm programming a server for a multiplayer game in Java, but I don't know the proper way to handle the client connections. The game is like a tiny mmo inspired inspired by Transformice. For those who do not know, Transformice is a MMO flash and tcp based game. It has around 60.000 concurrent players / day average and I wonder how they handle this amount of connections. Right now, my server spawns a thread for every client connection and I read in the FAQ's this is not good but also I thought same before read it. So basically the question is, how i manage my server to keep as many client connections as hardware / network is capable to (Without spawning a new thread for each client connection because i think this is not suitable for a mmo game). As far as i know JVM can't handle that huge amount of threads, so this can't be the right way. also I'm such a noob in networking. I started to learn it few months ago. Someone gives me some light? Regards.
  • Advertisement