Advertisement

mini demo enties are up... go get em :-)

Started by February 04, 2003 12:59 AM
55 comments, last by RipTorn 22 years ago
quote:
Original post by vincoof
finally a linux entry !
looks great of course

just two notes :
1- linux file systems are generally case-sensitive. That is, the file "Data/Logo.tga" and "data/logo.tga" are different ! I don''t know if it''s NeHe that has skipped the uppercase characters but the demo does not run entirely because of this (I had to rename the file and folder),
2- the model does not appear in the last scene (the green model that I see in the snapshot). I only get the pink-ish background.


Did you change the letters from lowercase to uppercase? because if you did that''s wierd because they should all be lowercase.

And to the problem in last scene which I think has something to do with that I switch of depth testing when I draw the background. Don''t know why it doesn''t work with your card? (what card do you have?) I have run the demo successfully with geforce3 and kyro2.
quote:
Original post by stravur
Did you change the letters from lowercase to uppercase? because if you did that''s wierd because they should all be lowercase.



I know it should be lowercase (I''ve seen it in the code) but the archive unzips uppercase for the first letter of every filename. Maybe NeHe renamed them without worrying about linux filesystems. I''m not sure he can test with a linux platform.


quote:
Original post by stravur
And to the problem in last scene which I think has something to do with that I switch of depth testing when I draw the background. Don''t know why it doesn''t work with your card? (what card do you have?) I have run the demo successfully with geforce3 and kyro2.



I have a Geforce4MX with NVIDIA drivers, and it''s working very well. I''m running "complex" 3D programs (such as ut2003) and I assume the drivers are not a problem.
Advertisement
Hi, It''s Gyasi. I made the demo with the bouncing ball synched to the music. Just wanted to say that I think all the demos were great, people got a whole lot more creative than I did. So anyway just to babble for a bit, I''m running a p3 600mhz with a Voodoo 5 PCI (I''ve got a speedy rig don''t I ) and most of the demos ran fine. The one I liked the best is 60.0f, probably just for having the clock in the corner.

Anywho about my demo, it''s the first OpenGL program that I wrote that actually worked, and was finished when I sent it in. The whole thing was kind of inspired from a disco, really I wanted to have colored lights moving around and all that flashy stuff, but considering I had no idea what I was doing, it didn''t happen.
My personal favorite is "Superstars". I really enjoyed the music and the grahics was synced to the text and music.

I watched them all and I think all of the programmers deserve kudos for their great demos. Keep up the good work all.
Dreams arn't just dreams, They're a whole new world to play in.
Dang, I just read on Nehe''s site that Mirko''s mountians blew him away. I didn''t see any mountians??? Any possibility of a version 1.1? I''d like to see them. I''m on ATI Radeon 8500
I''ve seen the demo with Radeon and GeForce, and some of Mirko''s scenes are missing with Radeon. He uses NVIDIA-specific extensions, so he can''t display some scenes without using a GeForce. Assuming he''s submitting his source code, someone could port all of his demo into a full vendor-independant version
Advertisement
vincoof : If you can write ATi verison of some NV_register_combiners code all scenes would run on ATI cards to. I just don't have access to any ATi card to test on. I've just translated all vertex programs from NV to ARB veison. Or is anyone else prepared to do this? You can email me for some info how it should work.

You should never let your fears become the boundaries of your dreams.

[edited by - _DarkWIng_ on February 10, 2003 1:26:48 PM]
You should never let your fears become the boundaries of your dreams.
I saw that you were using ARB vertex programs and that's a very good idea to be honest.
As for porting "all paths", I think it is easy to port the NV_point_sprite path. Just replace some glBegin(GL_POINTS) with glBegin(GL_QUADS) along with some orientation. It will be slower, obviously, but portable.

The only problem with your source code is that I can not really compile it since it's a vc.net project. I'll give it a try, though.

[edit] dammit I can't download source code. The page is down. Have to wait until NeHe fixes it.

[edited by - vincoof on February 10, 2003 3:16:48 PM]
the only thing that actualy need to be translated is *a few* chunks of code like this...


  glCombinerParameteriNV( GL_NUM_GENERAL_COMBINERS_NV, 3 );			// GCS #0		glCombinerInputNV( GL_COMBINER0_NV, GL_RGB, GL_VARIABLE_A_NV, GL_SECONDARY_COLOR_NV, GL_EXPAND_NORMAL_NV, GL_RGB );glCombinerInputNV( GL_COMBINER0_NV, GL_RGB, GL_VARIABLE_B_NV, GL_SECONDARY_COLOR_NV, GL_EXPAND_NORMAL_NV, GL_RGB );glCombinerInputNV( GL_COMBINER0_NV, GL_RGB, GL_VARIABLE_C_NV, GL_TEXTURE1_ARB, GL_UNSIGNED_IDENTITY_NV, GL_RGB );glCombinerInputNV( GL_COMBINER0_NV, GL_RGB, GL_VARIABLE_D_NV, GL_CONSTANT_COLOR0_NV, GL_UNSIGNED_IDENTITY_NV, GL_RGB );		// A,B => SPARE0 = ( L . L )// C,D => SPARE1 = ( lightColor*distAtt )glCombinerOutputNV( GL_COMBINER0_NV, GL_RGB, GL_SPARE0_NV, GL_SPARE1_NV, GL_DISCARD_NV, GL_NONE, GL_NONE, GL_TRUE, GL_FALSE, GL_FALSE);// GCS #1		glCombinerInputNV( GL_COMBINER1_NV, GL_RGB, GL_VARIABLE_A_NV, GL_SECONDARY_COLOR_NV, GL_EXPAND_NORMAL_NV, GL_RGB );glCombinerInputNV( GL_COMBINER1_NV, GL_RGB, GL_VARIABLE_B_NV, GL_ZERO, GL_UNSIGNED_INVERT_NV, GL_RGB );glCombinerInputNV( GL_COMBINER1_NV, GL_RGB, GL_VARIABLE_C_NV, GL_SECONDARY_COLOR_NV, GL_HALF_BIAS_NORMAL_NV, GL_RGB );glCombinerInputNV( GL_COMBINER1_NV, GL_RGB, GL_VARIABLE_D_NV, GL_SPARE0_NV, GL_UNSIGNED_INVERT_NV, GL_RGB );		// A,B,C,D => A*B + C*D => GL_SPARE0_NV = normalized( L )glCombinerOutputNV( GL_COMBINER1_NV, GL_RGB, GL_DISCARD_NV, GL_DISCARD_NV, GL_SPARE0_NV, GL_NONE, GL_NONE, GL_FALSE, GL_FALSE, GL_FALSE );// GCS #2glCombinerInputNV( GL_COMBINER2_NV, GL_RGB, GL_VARIABLE_A_NV, GL_SPARE0_NV, GL_SIGNED_IDENTITY_NV, GL_RGB );glCombinerInputNV( GL_COMBINER2_NV, GL_RGB, GL_VARIABLE_B_NV, GL_TEXTURE0_ARB, GL_EXPAND_NORMAL_NV, GL_RGB );// A,B => SPARE0 = ( N . L )glCombinerOutputNV( GL_COMBINER2_NV, GL_RGB, GL_SPARE0_NV, GL_DISCARD_NV, GL_DISCARD_NV, GL_NONE, GL_NONE, GL_TRUE, GL_FALSE, GL_FALSE );//Final combiner expression is (A*B) + ((1-A)*C) + D	// (N.L)*lightColor*distAttglFinalCombinerInputNV( GL_VARIABLE_A_NV, GL_SPARE0_NV, GL_UNSIGNED_IDENTITY_NV, GL_RGB );	glFinalCombinerInputNV( GL_VARIABLE_B_NV, GL_SPARE1_NV, GL_UNSIGNED_IDENTITY_NV, GL_RGB );			glFinalCombinerInputNV( GL_VARIABLE_C_NV, GL_ZERO, GL_UNSIGNED_IDENTITY_NV, GL_RGB );glFinalCombinerInputNV( GL_VARIABLE_D_NV, GL_ZERO, GL_UNSIGNED_IDENTITY_NV, GL_RGB );			  


and bout NV_point_sprite.. this is actualy avabile on radeon 8500 and up a I have been told a few days ago. Otherwise it''s GL_QUADS...


You should never let your fears become the boundaries of your dreams.
You should never let your fears become the boundaries of your dreams.
That''s a very funny game to translate that

I see you''re using 3 general combiners... so you can not use it in GF2 (and older) cards, do you ?

And another question : I don''t get why the general combiner stage #1 normalizes the vector !? I''d say that the computed formula is : L*(3-L^2)/2 but how does it normalizes the vector ?

I know that NV_point_sprite is supported by Radeon9700 and didn''t know it was supported by Radeon8500. Maybe it is. If so, it''s no use to render quads since requiring 3 general combiners assumes the NVIDIA owner has a GF3 card at least... so it''s logical to require a Radeon 8500 at least for the ATI owner.

This topic is closed to new replies.

Advertisement