What do you think of the future of OpenGL?

@PixelDuck:

>>PK: Is there a compiler by AMD? Since I’d
>>prefer AMD optimized compilation :\

yes, there is a 3DNow!SDK available; somewhere at amd.com/developers i think (not sure if this is the correct URL, but go on this site and look around)
you can find the Intel-Optimization-Routines on intel.com, called “the intel performance primitives” or something like this; on intel.com is also a SIMD-optimized-fully-usable-without-making-big-modifications matrix/vector library - use the “search-button”.

Ok well I have gcc 3.2.0 I think. I have tried doing both #include<iostream.h> and the other way like #include<iostream> using namespace std; and my programs still dont work. They are simple searching and hashing algorithms I am doing in my data structures class atm. See, these programs work perfectly if I trace the code myself, use VC++ 6.0 and .NET, and which ever verson of gcc is on Red Hat 7.3, I think its 2.8 or something like that. My code is standard c++ so I don’t see what the problem is. Maybe i’ll try to get the latest version and try that before downgrading. I would use another compiler but I’m not sure if my professor will let me use something other than g++. It’s what he tells us to use. Maybe I’ll go talk to him about that and see if I can use a different linux compiler.

-SirKnight

Flame wars, yeah!

Who’s up for a small Iraq war vs peace debate ?

Y.

Originally posted by SirKnight:
Ok well I have gcc 3.2.0 I think.

Try “$gcc -v” to figure out what version you are using.


I have tried doing both #include<iostream.h> and the other way like #include<iostream> using namespace std; and my programs still dont work. They are simple searching and hashing algorithms I am doing in my data structures class atm. See, these programs work perfectly if I trace the code myself, use VC++ 6.0 and .NET, and which ever verson of gcc is on Red Hat 7.3, I think its 2.8 or something like that.

I believe it was gcc2.96 or something IIRC. I also remember that version of gcc being VERY buggy.

Are you having compile-time problems or run-time?

Use standard headers (#include <iostream> ). Don’t use “using namespace std;”. Prepend everything such as “std::cout”. The using declaration kinda makes the use of namespaces pointless. You shouldn’t have to use std:: for algorithms because of Koenig lookup.


My code is standard c++ so I don’t see what the problem is. Maybe i’ll try to get the latest version and try that before downgrading.

I don’t recommend downgrading. gcc less than 3.0 is pretty buggy. gcc3.0 and 3.1 are not compatible with other versions. I haven’t had any problems so far with gcc3.2.2.

You can try comeau online to test snippets. http://www.comeaucomputing.com/tryitout/

Also, try out www.stlport.org and stlfilt. http://www.bdsoft.com/tools/stlfilt.html

[This message has been edited by PK (edited 02-20-2003).]

Oh no! Please don’t downgrade GCC, 3.2 is way much better than 2.96 (or whatever) and earlier versions.

(and like said before, GCC 3.whatever will get support for precompiled headers somewhere in the near future, finally! )

wasn’t the thread over the future of OpenGL ???

Originally posted by DJSnow:
wasn’t the thread over the future of OpenGL ???

Yeah but this has already been done to death. Off-topic is more fun anyway.

Back to off-topic. I’m having runtime problems. It’s like most of my variables don’t get changed even though they are supposed to. Like I had some globals counting the number of comparisons, number of successful searches, etc. Well they clearly should have had something other than 0 in them but for some reason compiling on 3.2 or whatever version I have that’s comes w/ RH8 never changed their contents. They remained to my inital value of 0. And no they are not constants. The same with my array that held my numbers. The order should have been different at the end of the program but it wasn’t. Like I said by looking at the code it should work, using the RH 7.3 version of g++ it works and VC++ 6.0 and .NET it works. Something is gimped!

-SirKnight

Originally posted by SirKnight:

Back to off-topic. I’m having runtime problems. It’s like most of my variables don’t get changed even though they are supposed to.

Hmm, works in VC6 and .Net but not gcc. I’d blame RedHat. They have their own patched version of gcc. I’ve had problems with 2.96 with redhat with code that kinda looked like this:

void foo( float f )
{
double d = f;
}

The value of d would not change, no matter what I passed in for f. I had to explicitly cast f.

void foo( float f )
{
double d = static_cast(f);
}

Hmm, that sounds exactly like my problem. Some of my variables won’t change when they should. Maybe if I get the newest dist of gcc (I just checked I have 3.2) from the gnu site maybe it will work fine and get rid of whatever crap RedHat did. Or maybe somehow my copy just got corrupted or something, who knows.

-SirKnight

Hello,

I’m using G++ v2.96 and not having any problems…?

i #include<iostream> (not iostream.h or iostreamh)…

<shrugs>

cheers,
JOhn

Originally posted by PK:
[b] [quote]

void foo( float f )
{
double d = f;
}

What is foo? I cant find in english dictionary. Is it some sort of slang? Every time i read some example code in the net or some tutorial, there always must be a function named Foo!
Or at least, in place of “Hello Word!” it says “Foo Bar”.

http://info.astrian.net/jargon/terms/f/foo.html

– Tom

Funny… You Americans…

@MichaelK:

>>What is foo? I cant find in english
>>dictionary.

install babylon-translator;
with all internet/computer-slang dictionaries (recommended also the tax-dictionary, technical terms, mathematical terms, RFC-dictionary, IP-port, toplevel-domain-dictionary) and all other dictionaries needed for translating in <insertfavoritelangugaehere>.

this will help you understanding (the most time real-not-good) internet/forum/newsgroups-slangs…

give it a try - its really good.

I noticed in that article it says FUBAR means “****ed Up Beyond All Repair.” Funny how it also doesn’t say that it also can mean “****ed Up Beyond All Recognition.” That latter way is usually what I know it as. Both ways are correct though. Actually I think they say “… Recognition” in Saving Private Ryan, that’s how I figured out what FUBAR meant back then.

-SirKnight

Originally posted by PixelDuck:
[b]
Duh! Now I remember that part, I read it through some time ago and seem to have forgotten it. Sorry But I still hope they will add it later on. And one thing is BADLY lacking: all brancing (and looping, for that matter)

Edit: But, NV_vertex_program has a plural version.
[This message has been edited by PixelDuck (edited 02-20-2003).][/b]

NV_vertex_program
NV_vertex_program1_1
NV_vertex_program2

The last one represents the future version of ARB_vp.

All that branching, looping, subroutine executing hot stuff is in there. I’m still reading it. Very long stuff isnt it?

Anyway, you have to remember the ARB is made of many companies collaborating. They are very careful in what gets accepted.

Besides, Radeon 9700 is old in terms of vp and fp. When the newer vp and fp get accepted, the R9700 won’t be able to handle it. I’m betting the GFFX already has the necessary circuits layed out, and I’m sure they have beta drivers and experimenting with NV_f_p_2_1 or whatever it is.

That last paragraph is speculation on my part.

my guess about the future of GPUs & opengl:

  • better programmability (the usual one)
  • DMA access (like on the P10)
  • HDM (like on the Parhelia)
  • HOS coming back and generalized
  • ability to generate vertices onboard instead of uploading them (primitive_programs?)
  • hardware Perlin noise (Ken Perlin has a patent on a hardware implementation)

…hum I don’t see anything else. Anyway, having all the above would keep me happy for two years or three, at least…

Julien.

To add to the list:

  • deeper colour buffers
  • better floating point throughout pipeline

V-man: I took a look at the specs and they still said that vertex programs are programs that are executed without branching and/or looping :\ well I haven’t read them through (I have R9700, so I can’t test them anyway). Damn, so R9700 can’t use branching at all? That is, not in OGL:\

I’m seriously considering buying an NV35 when it comes out :\ Well, that remains to be seen.

Cheers!

What a subject

What I don’t understand, it’s why so much people want an API to become the only one??

I use OpenGL and D3D a bit and it seems good for both…
Why Only One?
If they were 3 or 4 …etc… it would be a pleasure to make its own choice and apply
Isn’t it?

Ok I know, I know… I’m french ok…but…
why not ?
Those two Graphic Libraries work fine and can be improved.
So let’s go… use OpenGL , use D3D whatever you want, and please still use your pencil to draw

Sorry for this Filozofikal" mind of a desperate crazy programer