Jump to content
  • Advertisement

lc_overlord

Member
  • Content Count

    1212
  • Joined

  • Last visited

Community Reputation

436 Neutral

About lc_overlord

  • Rank
    Contributor

Personal Information

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

  1. lc_overlord

    Using normals with voxels

    I have basiclly two solutions to this issue   1. send points to the geometry shader and use it to draw cubes, this should be good for when you have a lot of freemoving cubes or basically cube particles.   2. if the terrain is more or less static then assembling the vertecies, normals and texture coordinates manually into raw ttriangles and then pushing it into a VBO is the way to go, even with the simplest possible culling it's fast enough that you don't have to mess around with indices at all.
  2. lc_overlord

    Gluax Replacement Code

    This pice of code is pretty ancient and im unsure if it even works with the latest Visual studio or how easy it is to fix it as i havn't run this code in a few years, i know it works for MSVC++ 6.0 but that version didn't even have namespace implemented. It would probably be better today to just go for the TGA tutorials and drop this whole glAUX nonsence.
  3. lc_overlord

    Repeat texture with GLKit

    The error your getting is from openGL itself 2011-11-09 20:10:28.614 ********[16309:207] GL ERROR: 0x0500 a quick look trough gl.h states that error 0x0500 is GL_INVALID_ENUM. It could be that texture.name is not a valid enum or the fact that your binding it after glTexParameterf. Alternatively it could be because of quirks in openGL ES, but i don't think so.
  4. lc_overlord

    problem about lesson 10

    It's most likely because the lesson doesn't use a delta time value, instead movement is based on how many frames are rendered, so any inconsistencies in the frame rate show up as shaking or stuttering in the movements, adding delta time compensates for that, so do skip ahead to lesson 32 an learn how to implement it.
  5. lc_overlord

    Color transparency misunderstanding

    if you look in the function InitGL you will see these two lines glBlendFunc(GL_SRC_ALPHA,GL_ONE); // Set The Blending Function For Translucency glEnable(GL_BLEND); This means that instead of replacing the color when overdrawing it will instead add to the color depending on the color and alpha of the texture your drawing. Try commenting them out and see what happens.
  6. lc_overlord

    Loading BMP file using C++

    If you really still want to load bmp files then lesson 6 should still work, just replace glaux with the replacement code below in my signature, it should still work. Otherwise you should take alook at lessons 24 and 33 which deals with tga loading and is much more appropriate for openGL use
  7. lc_overlord

    Loading models

    Not if you wrap it in a class, then you can just create a new instance of that class for every model you choose to load.
  8. lc_overlord

    Loading models

    That's not that large. The way to go about it is fairly simple, first you will need a header that contains all relevant information like the number of polygons and where the data for vertex texture and normal information start, Just having a array of unsigned ints is preferable. Secondly, just write the data, it's not that hard, writing a file spec is preferable though so both you and anyone else can replicate it with ease. You will probably go trough several formats before you settle on something more permanent, but that's just a part of the learning process. The hard part is not creating the format, it's exporting to the format that's why i recommend that you first make a obj loader and make that work, then make your own format. http://en.wikipedia.org/wiki/Wavefront_.obj_file
  9. lc_overlord

    Loading models

    No loader i know of selects according to size unless they have some kind of LOD system in place, most don't and even if they do it would still load something. The ms3d loader should not have an upper limit in theory, though i really don't know much about the format myself so it could be hitting the 64k limit somewhere. It really depends on the model and model format, which is another thing, this version of ms3d is an older version which could be your problem, so it shouldn't really be used anymore, obj should still work, though preferably you should make your own format and convert collada files to it. What you mean with " large model sizes"? 1k, 10k, 100k, 1M, or more polys?
  10. lc_overlord

    Lesson 10 is all MODELVIEW. How can i change?

    The main problem your having is that for the MODELVIEW matrix you normally call glLoadIdentety at the begining which resets the matrix to 0. But this is normally not done for the PROJECTION matrix so in your case this means that for every frame you rotate it a little bit more, but it doesn't reset so it just keeps adding and adding resulting in the spinning out of control effect. Now it really doesn't matter where you do the rotations since in the end both the modelview and projection matrices are multiplied with each other. It also doesn't matter how you do this, where you place this code or how many times since the amount of time it takes to do this is insignificant, especially since you should be fill rate limited. So in your case to fix this try GL11.glMatrixMode(GL11.GL_PROJECTION); GL11.glLoadIdentity(); GL11.gluPerspective(45.0f,(GLfloat)width/(GLfloat)height,0.1f,100.0f); GL11.glRotatef(lookupdown, 1.0f, 0, 0); GL11.glRotatef(sceneroty, 0, 1.0f, 0); GL11.glMatrixMode(GL11.GL_MODELVIEW); no.
  11. lc_overlord

    Lesson 43: How texture is rendered

    no it's only one quad, if your doing texturing you need at least two sets of coordinates for each vertex, the first set given by glTexCoord2d signifies where on the texture you should read from and the second given by glVertex2d is the position on the screen, it's all really simple once you get a hang of it.
  12. parallax occlusion mapping is pretty much one of the last things you should concern yourself with right now, sure it's neat, but what you need to begin doing is first geometry rendering or making sure your using VBOs and things like that to make it really fast and solid, secondly you need to focus on the high visibility stuff or what is still going to be visible is you stand really really far away from the monitor (or squint with your eyes really hard). That usually mean lights, shadows and textures. Beyond that i can't tell you any specifics without seeing the old game and knowing a little about your graphical ambitions (creating a mock-up of what you want in blender/lightwave/maya/max will help you a lot with that). But in general for the generic 3d game i would today recommend deferred rendering with depth shadow maps and post process filters (you can skip the deferred part if you only use one or two lights or have very basic lighting). The most important bit is to take it one step at a time, preferably without breaking the rest So 1. get the geometry sorted out first 2. figure out how the lights are going to work individually and accumulate them into an FBO 3. make sure all of the different parts are up to date (you wouldn't want your textures to suffer because your not using anisotropic filtering) 4. try and make it all work together at once, the way you know this is done is when you have an elegant solution with few or no workarounds. 5. now you can do stuff like parallax mapping Another thing you do need to take in consideration is that a game will look better if it plays better so it would be wise to work on improving the gamecode over all and upgrade all parts of it, everything from input handling to physics to AI to sound, try and improve it all if you can that is. And don't forget to upgrade you actual game data. But please ask if there is anything specifically (additional information would be great in that case)
  13. lc_overlord

    NeHe Prod Lesson6

    For your first question you can check out the link in my signature below. Regarding the data folder, if you run it from visual studio then i think the folder location is correct, otherwise it should be in whatever folder the .exe ends up in, well at least that's the default behaviour, your setup could be different so check around a little.
  14. lc_overlord

    How to read vertex array in vertex shader?

    no just a plain old texture, you can use an FBO to render to, that way you don't have to have any output. A 1 dimensional array could work but it's far easier to just cram it into a 2048x2048 texture, that way you have packets in one dimension and the data in one, what works best depends on exactly your algorithm, but that is something you have to find out for yourself. Another thing to try could be either Cuda or openCL as they are more adept to this kind of work.
  15. lc_overlord

    How to read vertex array in vertex shader?

    actually in that case i think it might be better to put all the packets in a 2048xN texture instead as it would allow you to access every packet in the fragment shader, then all you just render a line or a quad matching the output you like (you take it's coordinates and use it on the texture in one or more axis) and finally use glReadPixels to get the data.
  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

GameDev.net is your game development community. Create an account for your GameDev Portfolio and participate in the largest developer community in the games industry.

Sign me up!