• Content count

  • Joined

  • Last visited

Community Reputation

105 Neutral

About LiveAndFight

  • Rank
  1. idTech 4 Community Dev Kit

    For the past few months I've been working on a project called the "idTech4 Community Developers Kit", which has a sole purpose of enhancing the idTech 4 engine and creating streamlined toolset for asset creation using the engine. Some of the highlighted features currently implemented are: Tools: A lot of the front end code has been moved over to c# from MFC. In-Editor Virtual Texture Paint Tools Heavily modified DMap(bsp compile process). Renderer: Virtual Texturing up to 65k x 65k GLSL Gpu code(was legacy ARB shaders). Deferred Renderer Soft Shadow Mapping Hi-Res Guis(before guis were capped at 640x480 -> now 1280x720). Engine: 64bit and 32bit support(the tools only work on x64 cpu's). Game: Enhanced vehicle code. Tighter editor integration. Other misc features such as the game handles stuff like the load screen. The purpose of this project is to eventually compete with UDK, Unity, etc, by enhancing idTech 4 with a streamlined set of tools, enhancments in Visual Quality, and porting the engine to multiple platforms should hopefully give the engine the power of Unreal and the portability of Unity. Granted these are crazy goals but at the very least its a project that I can try various things on see how they work without the pressure of a publisher breathing down my neck. I just actually knocked out the vt paint tool over the last week and uploaded a video of it and I was wondering if I could get some critiques. I don't ever like announcing a project before its solid and ready to use but since I'm between jobs at the moment I really want to use this project as a portfolio piece. I've been getting a lot of feedback from my forums and doom3world but I'm looking for more critical critiques [img][/img]. Some of up front stuff: All the art is made by me which makes programmer art, I probably should higher a professional artist to knock out content for this. The "red glowey sections" are areas that aren't painted. Currently I don't actually use a normal map for bump mapping, but rather some automated normal map gen code that gets ran on the GPU, this will change now that I have the vt paint tool in. VT In-Editor paint demo + 65k in game vt. [url=""][/url]! If you want to see other content I have up:
  2. Deferred Render + SSAO + Bloom

    I'm working on shadows, and I almost have it done, but as you can see in the video on the wall with the True Blood poster its drawing shadows that are behind it on the wrong face. I am using back face culling, and I have tried setting the GL_COMPARE_R mode, but when I set that the shadows shift a little bit. Any Ideas?
  3. Deferred Render + SSAO + Bloom

    The FPS problem only occurs on my ATI card with the OpenGL/GLSL pipeline, I ran the demo on my friends NVIDIA card runs perfectly :/. What technique are you using to render shadows? EDIT: Your right my SSAO wasn't working in the OpenGL profile, I wrote a CG -> GLSL converter(the NVIDIA one is horrendous), but there was a small bug I fixed that and it fixed the FPS bug :/. Next I need to make it so each object has a different SSAO value. [Edited by - LiveAndFight on July 23, 2010 9:40:51 PM]
  4. Deferred Render + SSAO + Bloom

    Hey I was wondering if you guys could give me some quick feedback on my deferred renderer. I'm still stuck on how to do shadowing, I got dual parabloid maps to work on entities, but I still can't get it to work on the world :/ In the video I upped the specular influence to show of how many lights are actually being rendered.
  5. On the bright side I got deferred lighting in : ). Are dual paraboid shadow maps the best way to handle omni lights now a days?
  6. Hey, I am working on implementing dual parabloid shadow mapping, to replace my stencil buffer shadows. The problem is I can't get the lightmodelview matrix correct. My engine is based off of Quake 3, and I began to port it to DirectX and right now I'm trying to add a OpenGL rendering path because I see a lot more jobs for OpenGL programmers rather than DirectX programmers. I've been basing my research and implementation on the Dual Paraboloid white paper as well as the implementation here(delphi3d is down): Picture of what it looks like now: R_RotateForLight code: void jmvBackEndLocal::R_RotateForLight( const trRefEntity_t *ent, orientationr_t *or ) { float glMatrix[16]; idVec3_t delta; float axisLength; or->origin = ent->e.origin; or->axis[0] = ent->e.axis[0]; or->axis[1] = ent->e.axis[1]; or->axis[2] = ent->e.axis[2]; glMatrix[0] = or->axis[0][0]; glMatrix[4] = or->axis[1][0]; glMatrix[8] = or->axis[2][0]; glMatrix[12] = or->origin[0]; glMatrix[1] = or->axis[0][1]; glMatrix[5] = or->axis[1][1]; glMatrix[9] = or->axis[2][1]; glMatrix[13] = or->origin[1]; glMatrix[2] = or->axis[0][2]; glMatrix[6] = or->axis[1][2]; glMatrix[10] = or->axis[2][2]; glMatrix[14] = or->origin[2]; glMatrix[3] = 0; glMatrix[7] = 0; glMatrix[11] = 0; glMatrix[15] = 1; qglMultMatrixf( glMatrix ); } LightModelMatrix Gen code. void jmvBackEndLocal::CreateLightModelMatrix ( dlight_t *light, int entityNum ) { float m[16]; // Push the current modelview matrix to the stack. qglPushMatrix(); // A = Bias Matrix. qglLoadMatrixf( shadowBiasMatrix ); // B = Light Projection Matrix * A // FIXME: The world projection matrix is in backEnd.or.ProjectionMatrix, lightProjectionMatrix, // is TEMP in the front end viewParems. qglMultMatrixf( tr.viewParms.projectionMatrix ); // C = LightViewMatrix * B if( entityNum != ENTITYNUM_WORLD ) { qglTranslatef( light->origin[ 0 ], light->origin[ 1 ], light->origin[ 2 ] ); R_RotateForLight( backEnd.currentEntity, &tr.lightOr ); } else { R_LookAt( idVec3_t( light->origin[ 0 ], light->origin[ 1 ], light->origin[ 2 ] ), idVec3_t( 0, 0, 0 ) ); } // Generate the inverse of the current modelview matrix. R_InvertMatrix4f( backEnd.or.modelMatrix, m ); // D = C * active inverse modelmatrix( set our light position at 0, 0, 0 ). qglMultMatrixf( m ); // Get our lightmodelviewmatrix and copy it out. qglGetFloatv(GL_MODELVIEW_MATRIX, tr.lightOr.modelMatrix ); // Restore the old modelviewmatrix qglPopMatrix(); } Vertex Program to generate the dual paraboloid maps. vec4 inP = lightModelViewMatrix * gl_ModelViewMatrix * gl_PositionIn[i]; inP.z = inP.z * shadowDirection; vec4 vertPos = inP / inP.w; float L = length( vertPos ); vertPos = vertPos / L; vertPos.z = vertPos.z + 1; // Halfway vector. vertPos.x = vertPos.x / vertPos.z; vertPos.y = vertPos.y / vertPos.z; vertPos.z = (L - NearPlane) / (FarPlane - NearPlane); // scale the depth to [0, 1] vertPos.w = 1; // set w to 1 so there is no w divide gl_TexCoord[i].yz =; gl_Position = vec4( vertPos.x, vertPos.y, vertPos.z, vertPos.w ); This gets rendered into a FBO depth texture, and during the single pass lighting algorithm I use this(when I get this right I will switch over to textureArrays for now there is only ONE light in the scene. vec3 ShadowPass( vec3 lightXyz, int lightNum, vec4 position, float LightAttenuation ) { vec4 viewPos = lightModelMatrix[lightNum] * gl_ModelViewMatrix * position; float L = length( viewPos ); float alpha = 0.5 + viewPos.z / LightAttenuation; vec4 P0 = viewPos / L; vec4 P1 = viewPos / L; P0.z = 1.0f - P0.z; P0.x = P0.x / P0.z; P0.y = P0.y / P0.z; P0.z = L / LightAttenuation; P0.x = .5f * P0.x + .5f; P0.y = -.5f * P0.y + .5f; P1.z = 1.0f + P1.z; P1.x = P1.x / P1.z; P1.y = P1.y / P1.z; P1.z = L / LightAttenuation; P1.x = .5f * P1.x + .5f; P1.y = -.5f * P1.y + .5f; float depth = textureProj( shadowTexFront, vec4( P1.x, P1.y, P1.z, 1 ) ).r; float depth2 = textureProj( shadowTexBack, vec4( P0.x, P0.y, P0.z, 1 ) ).r; if( alpha < 0.5 ) { depth = depth2; } return vec3( depth, depth, depth ); } The reason why I set W to 1 is if I use P0.w or P1.w the shadow maps just renders white with a small sliver of black, to me right now it just looks inverted I've tried doing glRotate, glScale, etc still isn't working right. Any help would be appreciated : ). [Edited by - LiveAndFight on July 20, 2010 6:59:25 PM]
  7. Programmer Demo Reel

    Quote:Original post by MrFox On the subject of your demo, you say it was all written by you, but straight away I'm thinking, okay, so just how much DID he write himself? My mind will be eased if I can see three or four demos alongside each other, and probably the code that you could comfortably explain and talk through yourself. I always bring full binary build with source code( and PowerPoint excerpts ) with me to every face to face interview I go on. When it comes down to it I don't know anyone else personally thats capable of doing art, so I've just learned to do it my self. Which is actually a good thing because I learned how to develop my own pipeline tools(such as a Maya Skeletal exporter). But thats really good advice. Should I create a fully functional maybe 8 level game or 3 or 4 smaller demos?
  8. Programmer Demo Reel

    The only thing in my game that I didn't do was the textures and the sounds. On the networking end I have a authentication system that uses SRP6-A, and than I also have packet encryption that uses RC4 cryptography. I get alot of phone interviews and I answer all there questions I don't stutter or stammer on anything. I've gotten a few face to face interviews, I got one at Square Enix but I didn't get the job. I don't think its the way I handle myself, I always bring a binary build with full source code with me, I'm trying to figure out what more I can do, so I can stand out higher than everyone else.
  9. Programmer Demo Reel

    I'm still looking for work as a junior programmer for going on about 6 months. I've been trying to work on my demo reel, trying to show off what my engine can handle, and what I can do with it by my self. I'm trying to figure out what makes a good programming demo reel, and I was wondering if you guys could take a look and give me a few pointers:
  10. Hey, I'm trying to find work as a programmer at a small studio, and im trying to build up my portfolio. Alot of people have told me that I need to make a small playable demo using the engine. I uploaded a in-game video to my website and I was hoping to get some feedback on it. -Justin Marshall
  11. Programmer Portfolio Critique

    Thanks for the feedback : ), I will look into the VA today Dwiff thanks for the information. I have a phone interview this week, how should I prepare myself? I added some more screenshots that demonstrate more realism with the engine.
  12. Programmer Portfolio Critique

    I cleaned up my portfolio, if you guys could take another glance at it. I fixed all the formating issues I could find, and I replaced the forum section with "Engine Features".
  13. Programmer Portfolio Critique

    Please don't take this as my "sob story" haha but my situation is this, some lady did a hit and run on my car and totaled it. I have one witness saying there was another car that hit me, but USAA is lagging on telling me wether or not they will cover the damages because A) I don't have collision and B) they say athat they can't prove there was another car there despite the witnesses account of the accident haha so im without a car right now. I don't mind taking the bus thats not a problem, but I just got laid off from my security position because the store I worked at discontinued there contract with my old security company. The School District which was buying my software had to discontinue because of the budget freeze in California. So right now im living off of my PEB(which is half of my base pay) and my friends paycheck. So right now I need to find a job. I have a wide variety of IT experience(SQL, Linux, Windows Server, custom server applications, SOME Cisco), Programming, Web Hosting, etc. I want to go to college believe me, I just can't dedicate the time needed to go because I need to get a job soon. I have looked into "In the Mean time" jobs, but I have heard from a couple places like target etc, saying im "way over qualified". Basically right now what im doing is in between knocking on doors trying to apply for work, im working on AI into the game so I can post a video on my website. EDIT: Who do I talk to about that Dwiff? When I went through VAPS during my seperations they told me I would NOT qualify for the GI bill because I didn't pay into it. When I went to the VA they told me the same thing. [Edited by - LiveAndFight on January 25, 2010 11:34:51 AM]
  14. Programmer Portfolio Critique

    I didn't pay into the GI bill so I don't get it, I opted to not pay it during the "Moment of Truth"(Receiving Week). I regret it right now though haha. Is it really that damning if I don't have a college degree? I am trying to make up for it with a nice portfolio.
  15. Programmer Portfolio Critique

    Thank you all for the input I fixed all the mistakes(except for the bullet alignment, I think I am just going to have it download my Word resume). Unfortunately I can't go to college right now. I took a few courses in college, I took up to second semester Calculus and I have taken a few science classes(all B's). But my living situation has changed so I need to find a decent paying job as soon as I can. I have a good range of IT knowledge, which is why I'm trying to put my self out there and hopefully get something.