• What do you need help with? Version 1
    5,001 replies, posted
[QUOTE=blankthemuffin;22789287]To further further elaborate on this, OpenGL 3.0 deprecates all immediate mode and fixed function pipeline functionality, and 3.1 removes it all to an extension. So it's not only frowned upon these days, it's not even sure to be there in newer implementations. However in order to support cards not capable of GL3, you can still use of course older versions of GL, the obvious choice being 2.1, but only making use of the forward compatible subset. You miss out on pretty features of 3+ like proper hardware instancing, but you gain support for older cards. (I think 3.0 support comes into the nvidia line about the 8 series)[/QUOTE] Don't forget (while I'm sure you're going to spend the time to make fun of them) Macs don't support anything after 2.1 Edit: Even if the card inside of them supports 3.x or higher.
[QUOTE=Chandler;22791256]Don't forget (while I'm sure you're going to spend the time to make fun of them) Macs don't support anything after 2.1 Edit: Even if the card inside of them supports 3.x or higher.[/QUOTE] Well windows only supports 1.3 or something even more retarded.
[QUOTE=blankthemuffin;22791440]Well windows only supports 1.3 or something even more retarded.[/QUOTE] that's windows out of the box with no video drivers, whereas on OS X, if a video card does not support something the calls get turned into software calls. Hell, on linux if you've got mesa installed you can only go up to 2.1 as well with software calls. (Also, it's 1.1 with XP and below, and 1.4 with Vista and up) Unfortunately with OpenGL 3 and above, we're currently limited to video drivers, rather than expecting everyone on a certain OS to have support for a version.
[QUOTE=turb_;22787799]Why isn't this compiling? :saddowns: [cpp] #include <stdio.h> #include <Windows.h> int main() { TCHAR buff[1024]; GetLogicalDriveStrings(1024, buff); int i; for(i = 0; buff[i] != 0; i += 4) printf("%S", buff+i); } [/cpp] [img]http://ahb.me/5T-[/img][/QUOTE] You compiling in C90 mode or something? If so, then all variable declarations must be on top of the function (more general: only at the beginning of a new scope).
[QUOTE=ZeekyHBomb;22792944]You compiling in C90 mode or something? If so, then all variable declarations must be on top of the function (more general: only at the beginning of a new scope).[/QUOTE] Just compiling in MSVC's default mode. It should support C99, shouldn't it?
So let's say I don't care about old hardware and want to work with newer OGL versions. How can I do it in C#? Does Tao support that? If it's all as well documented as the rest of the OpenGL it's gonna be a joy to learn :eng99:
[QUOTE=turb_;22793201]Just compiling in MSVC's default mode. It should support C99, shouldn't it?[/QUOTE] MSVC is C89. Always has been, and unless enough people make a stink about it, always will be.
[QUOTE=Darwin226;22793239]So let's say I don't care about old hardware and want to work with newer OGL versions. How can I do it in C#? Does Tao support that? If it's all as well documented as the rest of the OpenGL it's gonna be a joy to learn :eng99:[/QUOTE] I don't know about Tao, since their website seems down for me, but OpenTK provides [url=http://www.opentk.com/doc/graphics/graphicscontext]the GraphicsContect[/url] class for it. You can find the official API documentation [url=http://www.opengl.org/documentation/]here[/url]. You will find that it actually is well defined, and I guess the OpenTK and Tao function will not differ that much from their C equivalents.
Yeah you can't get any decent C support out of MSVC. You're going to want to use gcc really.
Tao is just a wrapper, it put's everything into Gl and Glu classes, the methods remain exactly the same as the C version which made it a lot easier to find help since I could use any OpenGL code. OpenTK has a more C#ish way of wraping it and I'm actually afraid that if I start doing that I'll get lost.
[QUOTE=blankthemuffin;22793485]Yeah you can't get any decent C support out of MSVC. You're going to want to use gcc really.[/QUOTE] Ehh, except MinGW is just plain broken. Ask Chandler :v:
[QUOTE=turb_;22793617]Ehh, except MinGW is just plain broken. Ask Chandler :v:[/QUOTE] Didn't say it was broken, just that the code it produces is usually much slower than MSVC's. :P Once clang is more stable on windows (waiting for clang++) I'm going to be running some benchmarks on windows with varying programs. It'll be interesting to see the results :)
No remember we had that discussion about how mingw produces a several megabyte hello world?
-snip
You're in the wrong forum. For PHP, refer to the following forum: [url=http://www.facepunch.com/forumdisplay.php?f=353][img]http://www.imgdumper.nl/uploads3/4c208d50eeae9/4c208d50ec7c0-wd.png[/img][/url]
[QUOTE=turb_;22793944]No remember we had that discussion about how mingw produces a several megabyte hello world?[/QUOTE] Were you possibly linking against the libstdc++ statically? Or maybe you forgot to strip the debug symbols?
[QUOTE=Overv;22794219]You're in the wrong forum. For PHP, refer to the following forum: [url=http://www.facepunch.com/forumdisplay.php?f=353][img]http://www.imgdumper.nl/uploads3/4c208d50eeae9/4c208d50ec7c0-wd.png[/img][/url][/QUOTE] Oh thanks, I failed there, sorry.
[QUOTE=ZeekyHBomb;22794377]Were you possibly linking against the libstdc++ statically? Or maybe you forgot to strip the debug symbols?[/QUOTE] Not sure, Chandler did the compile. It was the correct size when I compiled it with gcc on Linux though (just with gcc -o hello hello.c) so I reckon mingw is broken.
[QUOTE=turb_;22794786]Not sure, Chandler did the compile. It was the correct size when I compiled it with gcc on Linux though (just with gcc -o hello hello.c) so I reckon mingw is broken.[/QUOTE] There's nothing overly broken about mingw? It's a very good compiler. Certainly a viable alternative to MSVC before you even consider how utterly broken Microsoft's C support is.
As far as I'm concerned, a several mb hello world is outlandish. But I don't know, consult Chandler, he did the compile.
[QUOTE=turb_;22795031]As far as I'm concerned, a several mb hello world is outlandish. But I don't know, consult Chandler, he did the compile.[/QUOTE] It's not cause by MingW I would lay money on that.
Can we please return to the OpenGL issue for a second. Tell me what to do because obviously I have been doing the wrong thing again. I've switched like 5 drawing APIs already so could someone please tell me what to use that won't turn out to be outdated and frowned upon... I have only 2 things that I want: 1. Can be done with C# 2. Is recent enough that I don't finally make something and then realize that it's no longer done like that and there are better/faster ways. I would appreciate any advice, links or something since I can't currently do anything while thinking that I won't learn anything useful. Thank you in advance.
Just use whatever you want, OpenGL will work fine.
Well, there's obviously a reason that immediate mode is frowned upon (or at least I think there should be). Is C# the problem or what?
Immediate mode is just an old technique, that's all. Today there are faster alternatives. Read up on vertex buffers objects and the programmable graphics pipeline (vertex and pixel/fragment shaders mostly).
Ok then, I'll give shaders another try but when I first tried to do it (following some tutorial) it threw some weird error that was never resolved. I don't think Tao and shaders like each other but that doesn't really make sense. Looks like I've got some reading to do.
Tao works fine with shaders, and why are you using Tao over OpenTK.
Tao allows me to use OpenGL tutorials and documentation meant for C or C++ since the functions and everything is exactly the same. OpenTK has it's own special way of naming things which is obviously nicer to use but not the same as the C API.
Uh not really... [url]http://www.opentk.com/doc/chapter/2/opengl/geometry/vbo[/url]
I meant stuff like this: GL.Begin( BeginMode.Points ); vs. Gl.glBegin(Gl.GL_POINTS); Obviously nicer to write but it's not the same as the C API. I am getting convinced that OpenTK might be worth trying again, it's documentation looks nice (and the site design isn't bad XD).
Sorry, you need to Log In to post a reply to this thread.