Sign in to follow this  
guest42

OpenGL Windows XP: Console with OpenGL and Dev cpp

Recommended Posts

guest42    104
Hey all. I've been using Dev CPP since I moved back to Windows when my Mac died. I like it because it's light weight, but I have a big problem. The debugger might as well not be there because I can't even watch variables. It's plain broken. I'm honestly fine with just printing variables to the console, but I'm using open GL, so I don't have a console (one of my big annoyances with Windows). So I'm wondering if there is some code I can use to enable a command line or if Dev CPP has some option that will give me a console window. Any help would be appreciated. thanks :)

Share this post


Link to post
Share on other sites
jpetrie    13106
Further readings on why not to use Dev-C++.

That said, Visual Studio will only solve your debugger woes (Code::Blocks would probably also do that, if you need something smaller than VS because, for example, you need to run from a memory stick or some such).

However, the answer to your question about getting the console back is to use Win32 API functions for doing so. Look up AllocConsole() on MSDN. After that you can use freopen() to reattach stdout to the console provided to you by AllocConsole(). If you need further assistance with this, ask.

Although really, once you abandon Dev-C++ for something with a real debugger you probably won't need to be doing printf()-style debugging through a console anyway.

Share this post


Link to post
Share on other sites
guest42    104
Yeah, I had installed VC just in case I got this answer. But what I'm not sure about is the fact that I've only ever used the gcc gnu compiler because I know my code will be generally cross platform. Will that change if I'm using Microsoft's IDE/compiler? That is to say, is their version of C++ different?

Share this post


Link to post
Share on other sites
Promit    13246
Quote:
Original post by guest42
is the fact that I've only ever used the gcc gnu compiler because I know my code will be generally cross platform. Will that change if I'm using Microsoft's IDE/compiler? That is to say, is their version of C++ different?
You used GCC because it would be cross platform, but you're worried that it won't work on a different platform.

Are you seeing the problem? (Hint: if your code doesn't work on VC++, that is an indication that it is not cross platform.)

Share this post


Link to post
Share on other sites
Matt_D    247
if your code is standard compliant, it will compile on any c++ compiler which is also standard compliant.

(all compilers deviate slightly from the standard, but not by much, and not enough to give you any major headaches).

use visual c++ on windows, and the latest gcc on whatever. the version of mingw with devc++ is so old that its got a walking frame and arthritis.

Share this post


Link to post
Share on other sites
CodeDemon    363
People still use Dev-C++ for the same reasons you find people still using Microsoft Visual C++ 6.0. They're just plain reluctant to change. Either that, or the silly old tutorials that they first read about writing your first game mentioned Dev-C++ as THE compiler to use. In which case, their research skills are sub-par.

I say leave guest42 with Dev-C++. The more fools using the wrong technology and tool-sets only means more room at the top of the food chain for the rest of us.

Share this post


Link to post
Share on other sites
Ravyne    14300
The GNU compilers sort of give you a false sense that your code is cross-platform -- what people generally are confused about is that:

1) They believe that the GNU compilers are somehow most-compliant to the language standard (or some even believe that the GNU compilers set the standard!)

2) They believe that because their code compiles on the GNU compilers, and that GNU compilers have been ported to every platform that their code is therefor cross-platform.


Neither of these is true, of course:

In the first case, Microsoft's recent C++ compilers have been *more* standard compliant than the GNU C++ compiler, G++ -- just because something is "open source" doesn't automatically mean that it has the best standards compliance, especially with something as complex, ill-defined, and just-plain-odd as C++.

In the second case, GNU's compilers have their own syntax for extensions, inline assembly and whatnot -- and if you use any of these, your code will likely not compile on other compilers -- remember, the platform is comprised of many things: The compiler, libraries, run-time, operating system and the hardware -- to be truly cross-platform, you must write code that is neutral to all of these. In short, there's far more to "cross-platform" than simply choosing a widely-available compiler.

Share this post


Link to post
Share on other sites
guest42    104
Ah, thanks Matt, I appreciate the straight answer. I just wasn't sure how different Microsoft's C++ standards were from Gnu's, but I'll go on faith that it shouldn't be a big deal. Now to figure out how to set up OpenGL/Glut/Glui all over again.

Share this post


Link to post
Share on other sites
Quote:
Original post by guest42
Now to figure out how to set up OpenGL/Glut/Glui all over again.
If you could set up an OpenGL window in Dev-C++ I really don't see why you would need to rewrite the code for other tools if you're building for Windows in the end. It's all WinAPI stuff after all (or whatever you're using, it's still Windows-specific, not tool-specific) =S

PS: I'm pretty sure that you can set up an OpenGL window even if it's a console application. Just create one as usual. Although yeah, don't use a console as a replacement for a debugger.

Share this post


Link to post
Share on other sites
BytePtr    106
Create a Console App and then just write Windows / OpenGL code as always.
When you run your app you will see OpenGL window created and also the console in background.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this  

  • Similar Content

    • By povilaslt2
      Hello. I'm Programmer who is in search of 2D game project who preferably uses OpenGL and C++. You can see my projects in GitHub. Project genre doesn't matter (except MMO's :D).
    • By ZeldaFan555
      Hello, My name is Matt. I am a programmer. I mostly use Java, but can use C++ and various other languages. I'm looking for someone to partner up with for random projects, preferably using OpenGL, though I'd be open to just about anything. If you're interested you can contact me on Skype or on here, thank you!
      Skype: Mangodoor408
    • By tyhender
      Hello, my name is Mark. I'm hobby programmer. 
      So recently,I thought that it's good idea to find people to create a full 3D engine. I'm looking for people experienced in scripting 3D shaders and implementing physics into engine(game)(we are going to use the React physics engine). 
      And,ye,no money =D I'm just looking for hobbyists that will be proud of their work. If engine(or game) will have financial succes,well,then maybe =D
      Sorry for late replies.
      I mostly give more information when people PM me,but this post is REALLY short,even for me =D
      So here's few more points:
      Engine will use openGL and SDL for graphics. It will use React3D physics library for physics simulation. Engine(most probably,atleast for the first part) won't have graphical fron-end,it will be a framework . I think final engine should be enough to set up an FPS in a couple of minutes. A bit about my self:
      I've been programming for 7 years total. I learned very slowly it as "secondary interesting thing" for like 3 years, but then began to script more seriously.  My primary language is C++,which we are going to use for the engine. Yes,I did 3D graphics with physics simulation before. No, my portfolio isn't very impressive. I'm working on that No,I wasn't employed officially. If anybody need to know more PM me. 
       
    • By Zaphyk
      I am developing my engine using the OpenGL 3.3 compatibility profile. It runs as expected on my NVIDIA card and on my Intel Card however when I tried it on an AMD setup it ran 3 times worse than on the other setups. Could this be a AMD driver thing or is this probably a problem with my OGL code? Could a different code standard create such bad performance?
    • By Kjell Andersson
      I'm trying to get some legacy OpenGL code to run with a shader pipeline,
      The legacy code uses glVertexPointer(), glColorPointer(), glNormalPointer() and glTexCoordPointer() to supply the vertex information.
      I know that it should be using setVertexAttribPointer() etc to clearly define the layout but that is not an option right now since the legacy code can't be modified to that extent.
      I've got a version 330 vertex shader to somewhat work:
      #version 330 uniform mat4 osg_ModelViewProjectionMatrix; uniform mat4 osg_ModelViewMatrix; layout(location = 0) in vec4 Vertex; layout(location = 2) in vec4 Normal; // Velocity layout(location = 3) in vec3 TexCoord; // TODO: is this the right layout location? out VertexData { vec4 color; vec3 velocity; float size; } VertexOut; void main(void) { vec4 p0 = Vertex; vec4 p1 = Vertex + vec4(Normal.x, Normal.y, Normal.z, 0.0f); vec3 velocity = (osg_ModelViewProjectionMatrix * p1 - osg_ModelViewProjectionMatrix * p0).xyz; VertexOut.velocity = velocity; VertexOut.size = TexCoord.y; gl_Position = osg_ModelViewMatrix * Vertex; } What works is the Vertex and Normal information that the legacy C++ OpenGL code seem to provide in layout location 0 and 2. This is fine.
      What I'm not getting to work is the TexCoord information that is supplied by a glTexCoordPointer() call in C++.
      Question:
      What layout location is the old standard pipeline using for glTexCoordPointer()? Or is this undefined?
       
      Side note: I'm trying to get an OpenSceneGraph 3.4.0 particle system to use custom vertex, geometry and fragment shaders for rendering the particles.
  • Popular Now