Jump to content
  • Advertisement


  • Content Count

  • Joined

  • Last visited

Community Reputation

139 Neutral

About PlutoWarrior

  • Rank
  1. So I understand the math behind getting my turret to aim at the mouse. Take the vector between the rotating point of the turret and the mouse, and the vector between the rotating point and the tip of the turret, normalize them, and take the dot product. Then use acos of that number to get the angle in radians. I then use that angle (converted to degrees) to give to openGL to rotate the quad. The issue I'm having is keeping track of the vector from the rotating point to the end of the turret. After openGL does the first rotation I no longer know the x and y coordinates of that point. Should I do the rotation myself, or is there a better way of doing this than what I'm thinking? [Edited by - PlutoWarrior on November 28, 2008 12:25:29 PM]
  2. PlutoWarrior

    Problem using DevIL to load textures

    That was it. I don't know how I could have looked over it. thank you :-)
  3. PlutoWarrior

    Problem using DevIL to load textures

    They are global variables
  4. I'm having a bit of a problem using Devil to load textures. I tried to copy and paste some code (bad idea, but I was just trying to get something to work fast) from a few examples into an openGL code template I had with the codeblocks IDE. I just can't seem to figure out why the quad doesn't get the texture mapped to it. It just appears white. Here's the code for those who have time to look. /* * This Code Was Created By Jeff Molofee 2000 * A HUGE Thanks To Fredric Echols For Cleaning Up * And Optimizing This Code, Making It More Flexible! * If You've Found This Code Useful, Please Let Me Know. * Visit My Site At nehe.gamedev.net */ #include <windows.h> // Header File For Windows #include <gl\gl.h> // Header File For The OpenGL32 Library #include <gl\glu.h> // Header File For The GLu32 Library #include <math.h> #include <IL\il.h> HDC hDC=NULL; // Private GDI Device Context HGLRC hRC=NULL; // Permanent Rendering Context HWND hWnd=NULL; // Holds Our Window Handle HINSTANCE hInstance; // Holds The Instance Of The Application bool keys[256]; // Array Used For The Keyboard Routine bool active=TRUE; // Window Active Flag Set To TRUE By Default bool fullscreen=TRUE; // Fullscreen Flag Set To Fullscreen Mode By Default LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM); // Declaration For WndProc ILuint texid; /* ILuint is a 32bit unsigned integer. Variable texid will be used to store image name. */ ILboolean success; /* ILboolean is type similar to GLboolean and can equal GL_FALSE (0) or GL_TRUE (1) it can have different value (because it's just typedef of unsigned char), but this sould be avoided. Variable success will be used to determine if some function returned success or failure. */ GLuint image; void glEnable2D() { int vPort[4]; glGetIntegerv(GL_VIEWPORT, vPort); glMatrixMode(GL_PROJECTION); glPushMatrix(); glLoadIdentity(); glOrtho(0, vPort[2], 0, vPort[3], -1, 1); glMatrixMode(GL_MODELVIEW); glPushMatrix(); glLoadIdentity(); } void glDisable2D() { glMatrixMode(GL_PROJECTION); glPopMatrix(); glMatrixMode(GL_MODELVIEW); glPopMatrix(); } GLvoid ReSizeGLScene(GLsizei width, GLsizei height) // Resize And Initialize The GL Window { if (height==0) // Prevent A Divide By Zero By { height=1; // Making Height Equal One } glViewport(0,0,width,height); // Reset The Current Viewport glMatrixMode(GL_PROJECTION); // Select The Projection Matrix glLoadIdentity(); // Reset The Projection Matrix // Calculate The Aspect Ratio Of The Window gluPerspective(45.0f,(GLfloat)width/(GLfloat)height,0.1f,100.0f); glMatrixMode(GL_MODELVIEW); // Select The Modelview Matrix glLoadIdentity(); // Reset The Modelview Matrix } int InitGL(GLvoid) // All Setup For OpenGL Goes Here { glShadeModel(GL_SMOOTH); // Enable Smooth Shading glClearColor(0.0f, 0.0f, 0.0f, 0.5f); // Black Background glClearDepth(1.0f); // Depth Buffer Setup glEnable(GL_DEPTH_TEST); // Enables Depth Testing glDepthFunc(GL_LEQUAL); // The Type Of Depth Testing To Do glHint(GL_PERSPECTIVE_CORRECTION_HINT, GL_NICEST); // Really Nice Perspective Calculations glEnable(GL_TEXTURE_2D); /* Before calling ilInit() version should be checked. */ if (ilGetInteger(IL_VERSION_NUM) < IL_VERSION) { return -1; } ilInit(); /* Initialization of DevIL */ ilGenImages(1, &texid); /* Generation of one image name */ ilBindImage(texid); /* Binding of image name */ success = ilLoadImage("me.jpg"); /* Loading of image "image.jpg" */ if (success) /* If no error occured: */ { success = ilConvertImage(IL_RGB, IL_UNSIGNED_BYTE); /* Convert every colour component into unsigned byte. If your image contains alpha channel you can replace IL_RGB with IL_RGBA */ if (!success) { /* Error occured */ return -1; } glGenTextures(1, &image); /* Texture name generation */ glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR); /* We will use linear interpolation for magnification filter */ glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR); /* We will use linear interpolation for minifying filter */ glTexImage2D(GL_TEXTURE_2D, 0, ilGetInteger(IL_IMAGE_BPP), ilGetInteger(IL_IMAGE_WIDTH), ilGetInteger(IL_IMAGE_HEIGHT), 0, ilGetInteger(IL_IMAGE_FORMAT), GL_UNSIGNED_BYTE, ilGetData()); /* Texture specification */ } else { /* Error occured */ return -1; } ilDeleteImages(1, &texid); /* Because we have already copied image data into texture data we can release memory used by image. */ return TRUE; // Initialization Went OK } int DrawGLScene(GLvoid) // Here's Where We Do All The Drawing { glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); // Clear Screen And Depth Buffer glLoadIdentity(); // Reset The Current Modelview Matrix glEnable2D(); glBindTexture(GL_TEXTURE_2D, image); /* Binding of texture name */ glBegin(GL_QUADS); glTexCoord2d(0.0,0.0);glVertex2d(100.0,100.0); glTexCoord2d(0.0,1.0);glVertex2d(100.0,200.0); glTexCoord2d(1.0,1.0);glVertex2d(200.0,200.0); glTexCoord2d(1.0,0.0);glVertex2d(200.0,100.0); glEnd(); glDisable2D(); return TRUE; // Everything Went OK } GLvoid KillGLWindow(GLvoid) // Properly Kill The Window { if (fullscreen) // Are We In Fullscreen Mode? { ChangeDisplaySettings(NULL,0); // If So Switch Back To The Desktop ShowCursor(TRUE); // Show Mouse Pointer } if (hRC) // Do We Have A Rendering Context? { if (!wglMakeCurrent(NULL,NULL)) // Are We Able To Release The DC And RC Contexts? { MessageBox(NULL,"Release Of DC And RC Failed.","SHUTDOWN ERROR",MB_OK | MB_ICONINFORMATION); } if (!wglDeleteContext(hRC)) // Are We Able To Delete The RC? { MessageBox(NULL,"Release Rendering Context Failed.","SHUTDOWN ERROR",MB_OK | MB_ICONINFORMATION); } hRC=NULL; // Set RC To NULL } if (hDC && !ReleaseDC(hWnd,hDC)) // Are We Able To Release The DC { MessageBox(NULL,"Release Device Context Failed.","SHUTDOWN ERROR",MB_OK | MB_ICONINFORMATION); hDC=NULL; // Set DC To NULL } if (hWnd && !DestroyWindow(hWnd)) // Are We Able To Destroy The Window? { MessageBox(NULL,"Could Not Release hWnd.","SHUTDOWN ERROR",MB_OK | MB_ICONINFORMATION); hWnd=NULL; // Set hWnd To NULL } if (!UnregisterClass("OpenGL",hInstance)) // Are We Able To Unregister Class { MessageBox(NULL,"Could Not Unregister Class.","SHUTDOWN ERROR",MB_OK | MB_ICONINFORMATION); hInstance=NULL; // Set hInstance To NULL } } /* This Code Creates Our OpenGL Window. Parameters Are: * * title - Title To Appear At The Top Of The Window * * width - Width Of The GL Window Or Fullscreen Mode * * height - Height Of The GL Window Or Fullscreen Mode * * bits - Number Of Bits To Use For Color (8/16/24/32) * * fullscreenflag - Use Fullscreen Mode (TRUE) Or Windowed Mode (FALSE) */ BOOL CreateGLWindow(char* title, int width, int height, int bits, bool fullscreenflag) { GLuint PixelFormat; // Holds The Results After Searching For A Match WNDCLASS wc; // Windows Class Structure DWORD dwExStyle; // Window Extended Style DWORD dwStyle; // Window Style RECT WindowRect; // Grabs Rectangle Upper Left / Lower Right Values WindowRect.left=(long)0; // Set Left Value To 0 WindowRect.right=(long)width; // Set Right Value To Requested Width WindowRect.top=(long)0; // Set Top Value To 0 WindowRect.bottom=(long)height; // Set Bottom Value To Requested Height fullscreen=fullscreenflag; // Set The Global Fullscreen Flag hInstance = GetModuleHandle(NULL); // Grab An Instance For Our Window wc.style = CS_HREDRAW | CS_VREDRAW | CS_OWNDC; // Redraw On Size, And Own DC For Window. wc.lpfnWndProc = (WNDPROC) WndProc; // WndProc Handles Messages wc.cbClsExtra = 0; // No Extra Window Data wc.cbWndExtra = 0; // No Extra Window Data wc.hInstance = hInstance; // Set The Instance wc.hIcon = LoadIcon(NULL, IDI_WINLOGO); // Load The Default Icon wc.hCursor = LoadCursor(NULL, IDC_ARROW); // Load The Arrow Pointer wc.hbrBackground = NULL; // No Background Required For GL wc.lpszMenuName = NULL; // We Don't Want A Menu wc.lpszClassName = "OpenGL"; // Set The Class Name if (!RegisterClass(&wc)) // Attempt To Register The Window Class { MessageBox(NULL,"Failed To Register The Window Class.","ERROR",MB_OK|MB_ICONEXCLAMATION); return FALSE; // Return FALSE } if (fullscreen) // Attempt Fullscreen Mode? { DEVMODE dmScreenSettings; // Device Mode memset(&dmScreenSettings,0,sizeof(dmScreenSettings)); // Makes Sure Memory's Cleared dmScreenSettings.dmSize=sizeof(dmScreenSettings); // Size Of The Devmode Structure dmScreenSettings.dmPelsWidth = width; // Selected Screen Width dmScreenSettings.dmPelsHeight = height; // Selected Screen Height dmScreenSettings.dmBitsPerPel = bits; // Selected Bits Per Pixel dmScreenSettings.dmFields=DM_BITSPERPEL|DM_PELSWIDTH|DM_PELSHEIGHT; // Try To Set Selected Mode And Get Results. NOTE: CDS_FULLSCREEN Gets Rid Of Start Bar. if (ChangeDisplaySettings(&dmScreenSettings,CDS_FULLSCREEN)!=DISP_CHANGE_SUCCESSFUL) { // If The Mode Fails, Offer Two Options. Quit Or Use Windowed Mode. if (MessageBox(NULL,"The Requested Fullscreen Mode Is Not Supported By\nYour Video Card. Use Windowed Mode Instead?","NeHe GL",MB_YESNO|MB_ICONEXCLAMATION)==IDYES) { fullscreen=FALSE; // Windowed Mode Selected. Fullscreen = FALSE } else { // Pop Up A Message Box Letting User Know The Program Is Closing. MessageBox(NULL,"Program Will Now Close.","ERROR",MB_OK|MB_ICONSTOP); return FALSE; // Return FALSE } } } if (fullscreen) // Are We Still In Fullscreen Mode? { dwExStyle=WS_EX_APPWINDOW; // Window Extended Style dwStyle=WS_POPUP; // Windows Style ShowCursor(FALSE); // Hide Mouse Pointer } else { dwExStyle=WS_EX_APPWINDOW | WS_EX_WINDOWEDGE; // Window Extended Style dwStyle=WS_OVERLAPPEDWINDOW; // Windows Style } AdjustWindowRectEx(&WindowRect, dwStyle, FALSE, dwExStyle); // Adjust Window To True Requested Size // Create The Window if (!(hWnd=CreateWindowEx( dwExStyle, // Extended Style For The Window "OpenGL", // Class Name title, // Window Title dwStyle | // Defined Window Style WS_CLIPSIBLINGS | // Required Window Style WS_CLIPCHILDREN, // Required Window Style 0, 0, // Window Position WindowRect.right-WindowRect.left, // Calculate Window Width WindowRect.bottom-WindowRect.top, // Calculate Window Height NULL, // No Parent Window NULL, // No Menu hInstance, // Instance NULL))) // Dont Pass Anything To WM_CREATE { KillGLWindow(); // Reset The Display MessageBox(NULL,"Window Creation Error.","ERROR",MB_OK|MB_ICONEXCLAMATION); return FALSE; // Return FALSE } static PIXELFORMATDESCRIPTOR pfd= // pfd Tells Windows How We Want Things To Be { sizeof(PIXELFORMATDESCRIPTOR), // Size Of This Pixel Format Descriptor 1, // Version Number PFD_DRAW_TO_WINDOW | // Format Must Support Window PFD_SUPPORT_OPENGL | // Format Must Support OpenGL PFD_DOUBLEBUFFER, // Must Support Double Buffering PFD_TYPE_RGBA, // Request An RGBA Format bits, // Select Our Color Depth 0, 0, 0, 0, 0, 0, // Color Bits Ignored 0, // No Alpha Buffer 0, // Shift Bit Ignored 0, // No Accumulation Buffer 0, 0, 0, 0, // Accumulation Bits Ignored 16, // 16Bit Z-Buffer (Depth Buffer) 0, // No Stencil Buffer 0, // No Auxiliary Buffer PFD_MAIN_PLANE, // Main Drawing Layer 0, // Reserved 0, 0, 0 // Layer Masks Ignored }; if (!(hDC=GetDC(hWnd))) // Did We Get A Device Context? { KillGLWindow(); // Reset The Display MessageBox(NULL,"Can't Create A GL Device Context.","ERROR",MB_OK|MB_ICONEXCLAMATION); return FALSE; // Return FALSE } if (!(PixelFormat=ChoosePixelFormat(hDC,&pfd))) // Did Windows Find A Matching Pixel Format? { KillGLWindow(); // Reset The Display MessageBox(NULL,"Can't Find A Suitable PixelFormat.","ERROR",MB_OK|MB_ICONEXCLAMATION); return FALSE; // Return FALSE } if(!SetPixelFormat(hDC,PixelFormat,&pfd)) // Are We Able To Set The Pixel Format? { KillGLWindow(); // Reset The Display MessageBox(NULL,"Can't Set The PixelFormat.","ERROR",MB_OK|MB_ICONEXCLAMATION); return FALSE; // Return FALSE } if (!(hRC=wglCreateContext(hDC))) // Are We Able To Get A Rendering Context? { KillGLWindow(); // Reset The Display MessageBox(NULL,"Can't Create A GL Rendering Context.","ERROR",MB_OK|MB_ICONEXCLAMATION); return FALSE; // Return FALSE } if(!wglMakeCurrent(hDC,hRC)) // Try To Activate The Rendering Context { KillGLWindow(); // Reset The Display MessageBox(NULL,"Can't Activate The GL Rendering Context.","ERROR",MB_OK|MB_ICONEXCLAMATION); return FALSE; // Return FALSE } ShowWindow(hWnd,SW_SHOW); // Show The Window SetForegroundWindow(hWnd); // Slightly Higher Priority SetFocus(hWnd); // Sets Keyboard Focus To The Window ReSizeGLScene(width, height); // Set Up Our Perspective GL Screen if (!InitGL()) // Initialize Our Newly Created GL Window { KillGLWindow(); // Reset The Display MessageBox(NULL,"Initialization Failed.","ERROR",MB_OK|MB_ICONEXCLAMATION); return FALSE; // Return FALSE } return TRUE; // Success } LRESULT CALLBACK WndProc( HWND hWnd, // Handle For This Window UINT uMsg, // Message For This Window WPARAM wParam, // Additional Message Information LPARAM lParam) // Additional Message Information { switch (uMsg) // Check For Windows Messages { case WM_ACTIVATE: // Watch For Window Activate Message { if (!HIWORD(wParam)) // Check Minimization State { active=TRUE; // Program Is Active } else { active=FALSE; // Program Is No Longer Active } return 0; // Return To The Message Loop } case WM_SYSCOMMAND: // Intercept System Commands { switch (wParam) // Check System Calls { case SC_SCREENSAVE: // Screensaver Trying To Start? case SC_MONITORPOWER: // Monitor Trying To Enter Powersave? return 0; // Prevent From Happening } break; // Exit } case WM_CLOSE: // Did We Receive A Close Message? { PostQuitMessage(0); // Send A Quit Message return 0; // Jump Back } case WM_KEYDOWN: // Is A Key Being Held Down? { keys[wParam] = TRUE; // If So, Mark It As TRUE return 0; // Jump Back } case WM_KEYUP: // Has A Key Been Released? { keys[wParam] = FALSE; // If So, Mark It As FALSE return 0; // Jump Back } case WM_SIZE: // Resize The OpenGL Window { ReSizeGLScene(LOWORD(lParam),HIWORD(lParam)); // LoWord=Width, HiWord=Height return 0; // Jump Back } } // Pass All Unhandled Messages To DefWindowProc return DefWindowProc(hWnd,uMsg,wParam,lParam); } int WINAPI WinMain( HINSTANCE hInstance, // Instance HINSTANCE hPrevInstance, // Previous Instance LPSTR lpCmdLine, // Command Line Parameters int nCmdShow) // Window Show State { MSG msg; // Windows Message Structure BOOL done=FALSE; // Bool Variable To Exit Loop // Ask The User Which Screen Mode They Prefer if (MessageBox(NULL,"Would You Like To Run In Fullscreen Mode?", "Start FullScreen?",MB_YESNO|MB_ICONQUESTION)==IDNO) { fullscreen=FALSE; // Windowed Mode } // Create Our OpenGL Window if (!CreateGLWindow("NeHe's OpenGL Framework",800,600,16,fullscreen)) { return 0; // Quit If Window Was Not Created } while(!done) // Loop That Runs While done=FALSE { if (PeekMessage(&msg,NULL,0,0,PM_REMOVE)) // Is There A Message Waiting? { if (msg.message==WM_QUIT) // Have We Received A Quit Message? { done=TRUE; // If So done=TRUE } else // If Not, Deal With Window Messages { TranslateMessage(&msg); // Translate The Message DispatchMessage(&msg); // Dispatch The Message } } else // If There Are No Messages { // Draw The Scene. Watch For ESC Key And Quit Messages From DrawGLScene() if (active) // Program Active? { if (keys[VK_ESCAPE]) // Was ESC Pressed? { done=TRUE; // ESC Signalled A Quit } else // Not Time To Quit, Update Screen { DrawGLScene(); // Draw The Scene SwapBuffers(hDC); // Swap Buffers (Double Buffering) } } if (keys[VK_F1]) // Is F1 Being Pressed? { keys[VK_F1]=FALSE; // If So Make Key FALSE KillGLWindow(); // Kill Our Current Window fullscreen=!fullscreen; // Toggle Fullscreen / Windowed Mode // Recreate Our OpenGL Window if (!CreateGLWindow("NeHe's OpenGL Framework",800,600,16,fullscreen)) { return 0; // Quit If Window Was Not Created } } } } // Shutdown glDeleteTextures(1, &image); KillGLWindow(); // Kill The Window return (msg.wParam); // Exit The Program }
  5. PlutoWarrior

    Getting back into game programming

    I'd rather start fresh, but maybe use an idea from one of the old projects. The code it just not worth salvaging.
  6. Hey guys, I recently have found some free time now that I'm out of college and working and I really want to get back into game programming. I haven't really done any real game coding is a few years, mostly just smaller programs my physics class projects. I just don't know where to start again. I looked back into my programming folder and was ashamed at all the half finished, non-running, non-commented code. I really would like to start fresh again and do things right. I'm looking to make a small game, like a Bejeweled clone, but I want the structure of my code to be right. I want the graphics, and logic separated but I've always seemed to have a hard time doing that among other things. I normally would start with the codeblocks template for an openGL application. Any advice on how to get back into the swing of things and actually finish a game for once? Thanks in advance.
  7. PlutoWarrior

    render a raytraced scene in opengl

    Thanks everyone, I took what you said into account and I finally got something to the screen. It's not much but at least it's a start. Next step is to add some more features like reflection, refraction, and shadows. I also need to make the algorithm a little more suitable to recursive ray casting cause right now it's pretty hacked together. Here's a look.
  8. PlutoWarrior

    render a raytraced scene in opengl

    I'll try looking into both methods and see what I can do, maybe I'll post some pictures if I get this working soon.
  9. Hey guys, So I've just finished writing up some code to make a basic ray tracer. It handles all vectors and ray casts and can do all the things I need to do to calculate lighting and reflections in my scene. Now I want to render all the wonderful math into a beautiful scene but I dunno what the best way to go about doing this in OpenGL. I'm open to suggestions!
  10. PlutoWarrior

    What is analytic dynamics?

    Analytical dynamics is the study of the motion of an object without worrying about forces and velocities as in newtonian dynamics. You use the Lagrangian to find the path that uses the least amount of energy... take a look here. http://en.wikipedia.org/wiki/Lagrangian_mechanics
  11. PlutoWarrior

    Problem with lesson 19 under linux w/ GLX

    Yea, I probably should have included more information. I'm sorta new with linux in general. I'm running Ubuntu 6.10 64bit version. Here the info when I run fglrxinfo display: :0.0 screen: 0 OpenGL vendor string: ATI Technologies Inc. OpenGL renderer string: RADEON X800 GTO Generic OpenGL version string: 2.0.6011 (8.28.8) I've gotten other simpler nehe tutorials to run without issues like the rotating cubes. I know there probably other information you need I'm just not too sure how to get it.
  12. I just downloaded lesson 19 from nehe's site and I ran into a problem when running it. It gives me the following error which I've done multiple google searches on with no help in fixing it. I heard it's a memory problem but I'm not sure what or how to correct this, considering I didn't write or edit the code. Here are the errors: Error: number of Planes not 1! *** glibc detected *** ./lesson19: double free or corruption (out): 0x00002b4b35c4fe20 *** This is also outputed in the crash. ======= Memory map: ======== 00400000-00405000 r-xp 00000000 08:06 1733351 /home/paul/src/opengl/lesson19/lesson19 00504000-00505000 rw-p 00004000 08:06 1733351 /home/paul/src/opengl/lesson19/lesson19 00505000-006e8000 rw-p 00505000 00:00 0 [heap] 2b4b354b0000-2b4b354cc000 r-xp 00000000 08:05 114468 /lib/ld-2.4.so 2b4b354cc000-2b4b354d0000 rw-p 2b4b354cc000 00:00 0 2b4b355cb000-2b4b355cd000 rw-p 0001b000 08:05 114468 /lib/ld-2.4.so 2b4b355cd000-2b4b3566a000 r-xp 00000000 08:05 725499 /usr/lib/libGL.so.1.2 2b4b3566a000-2b4b3576a000 ---p 0009d000 08:05 725499 /usr/lib/libGL.so.1.2 2b4b3576a000-2b4b3578a000 rw-p 0009d000 08:05 725499 /usr/lib/libGL.so.1.2 2b4b3578a000-2b4b35790000 rw-p 2b4b3578a000 00:00 0 2b4b35790000-2b4b3580e000 r-xp 00000000 08:05 720945 /usr/lib/libGLU.so.1.3.060501 2b4b3580e000-2b4b3590d000 ---p 0007e000 08:05 720945 /usr/lib/libGLU.so.1.3.060501 2b4b3590d000-2b4b3590f000 rw-p 0007d000 08:05 720945 /usr/lib/libGLU.so.1.3.060501 2b4b3590f000-2b4b35914000 r-xp 00000000 08:05 721027 /usr/lib/libXxf86vm.so.1.0.0 2b4b35914000-2b4b35a13000 ---p 00005000 08:05 721027 /usr/lib/libXxf86vm.so.1.0.0 2b4b35a13000-2b4b35a14000 rw-p 00004000 08:05 721027 /usr/lib/libXxf86vm.so.1.0.0 2b4b35a14000-2b4b35b4a000 r-xp 00000000 08:05 114522 /lib/libc-2.4.so 2b4b35b4a000-2b4b35c4a000 ---p 00136000 08:05 114522 /lib/libc-2.4.so 2b4b35c4a000-2b4b35c4d000 r--p 00136000 08:05 114522 /lib/libc-2.4.so 2b4b35c4d000-2b4b35c4f000 rw-p 00139000 08:05 114522 /lib/libc-2.4.so 2b4b35c4f000-2b4b35c55000 rw-p 2b4b35c4f000 00:00 0 2b4b35c55000-2b4b35d2f000 r-xp 00000000 08:05 720972 /usr/lib/libX11.so.6.2.0 2b4b35d2f000-2b4b35e2e000 ---p 000da000 08:05 720972 /usr/lib/libX11.so.6.2.0 2b4b35e2e000-2b4b35e33000 rw-p 000d9000 08:05 720972 /usr/lib/libX11.so.6.2.0 2b4b35e33000-2b4b35e43000 r-xp 00000000 08:05 720991 /usr/lib/libXext.so.6.4.0 2b4b35e43000-2b4b35f43000 ---p 00010000 08:05 720991 /usr/lib/libXext.so.6.4.0 2b4b35f43000-2b4b35f44000 rw-p 00010000 08:05 720991 /usr/lib/libXext.so.6.4.0 2b4b35f44000-2b4b35f55000 r-xp 00000000 08:05 114945 /lib/libpthread-2.4.so 2b4b35f55000-2b4b36054000 ---p 00011000 08:05 114945 /lib/libpthread-2.4.so 2b4b36054000-2b4b36056000 rw-p 00010000 08:05 114945 /lib/libpthread-2.4.so 2b4b36056000-2b4b3605b000 rw-p 2b4b36056000 00:00 0 2b4b3605b000-2b4b3605d000 r-xp 00000000 08:05 114634 /lib/libdl-2.4.so 2b4b3605d000-2b4b3615d000 ---p 00002000 08:05 114634 /lib/libdl-2.4.so 2b4b3615d000-2b4b3615f000 rw-p 00002000 08:05 114634 /lib/libdl-2.4.so 2b4b3615f000-2b4b36245000 r-xp 00000000 08:05 721657 /usr/lib/libstdc++.so.6.0.8 2b4b36245000-2b4b36344000 ---p 000e6000 08:05 721657 /usr/lib/libstdc++.so.6.0.8 2b4b36344000-2b4b3634a000 r--p 000e5000 08:05 721657 /usr/lib/libstdc++.so.6.0.8 2b4b3634a000-2b4b3634d000 rw-p 000eb000 08:05 721657 /usr/lib/libstdc++.so.6.0.8 2b4b3634d000-2b4b3635f000 rw-p 2b4b3634d000 00:00 0 2b4b3635f000-2b4b363df000 r-xp 00000000 08:05 114635 /lib/libm-2.4.so 2b4b363df000-2b4b364de000Aborted (core dumped)
  13. PlutoWarrior

    any good flowchart tool avaiable for c++

    You might wanna give this program a try. If your code has too many levels the free version might not work though. It's worth a look anyway, http://www.fatesoft.com/s2f/
  14. PlutoWarrior

    Diffusion of a gas

    The actual problem is one where there is a gas that is diffusing through a layer of ice, then into the air. I don't know if that's any help in supplying me with information.
  15. PlutoWarrior

    Diffusion of a gas

    Thanks. He seems to have a wealth of information of fluid dynamics as well. I'll try to look into some of the articles.
  • Advertisement

Important Information

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

We are the game development community.

Whether you are an indie, hobbyist, AAA developer, or just trying to learn, GameDev.net is the place for you to learn, share, and connect with the games industry. Learn more About Us or sign up!

Sign me up!