Submit
0684f9d33f52fa189aad7ac9e8c87510
0
baldurk 101 Feb 08, 2003 at 11:01

what I meant is that MS would probably never let there be a DX runtime/libs on linux. Think about it, most games would be able to be ported to linux.

Fdbdc4176840d77fe6a8deca457595ab
0
dk 158 Feb 08, 2003 at 03:46

is there a Radeon 9900 Pro coming out? :unsure: I didn’t know that? When will it be produced?

6ad5f8c742f1e8ec61000e2b0900fc76
0
davepermen 101 Feb 08, 2003 at 00:27

my radeon is pro, too.. 9700pro..

and soon (i hope) i can get to the CeBIT and see the r350, the gfFX, and all the stuff.. and then i hope i can get a 9900pro, or so.. the r350 simply.. and give my older one to a friend, who still runs a funny voodoo:D poor boy:D

6ad5f8c742f1e8ec61000e2b0900fc76
0
davepermen 101 Feb 08, 2003 at 00:23

@baldurk

well, even thought there is a .NET compiler for e.g. linux, there aren’t (AFAIK) and won’t be runtime libs for DX. about the xbox. its a big target platform. you can’t say linux for example is a different platform eighter. its x86 still. once you worked for mac, for nintendo, or for sony, or sun, or whoever, you know what crossplatform really means. from windows to linux and backwards is easy:D

quite easy to write in gl, not? there is no reason to not do. it would give linux a big boost to be able to state they have dx compatible features. like the free gl port mesagl. not allowed to be named opengl, because there is no licence, but fully compatible anyways.

then we would need dx full, and only the .NET runtime.. but anyways, i think it would be quite easy and a great inspiration for a united future, and thats best for all

47c550c1d30168d99e0954d4692c4597
0
nfz 101 Feb 07, 2003 at 23:04

Should have had the Radeon 8500 in the list. Since its not there I put my vote with the Radeon 9000 since they are of the same family.

E05263ec846eb85da803f56e2917962d
0
Noor 101 Feb 07, 2003 at 22:37

Who ever made this poll thing up, he forgot to add Radeon 9700 pro, this is the card I have, so I just chooce other.

0684f9d33f52fa189aad7ac9e8c87510
0
baldurk 101 Feb 07, 2003 at 19:04

well, even thought there is a .NET compiler for e.g. linux, there aren’t (AFAIK) and won’t be runtime libs for DX.

In response to Character Modelling
0684f9d33f52fa189aad7ac9e8c87510
0
baldurk 101 Feb 07, 2003 at 18:29

I don’t know, but at a rough guess I’d say around 5000

0684f9d33f52fa189aad7ac9e8c87510
0
baldurk 101 Feb 07, 2003 at 18:21

I think Intel has done some 3D vid cards that can run Q3 admirably. Not just a simple 2D vid card

C24eb7e6aaefba78b94c831ddc7b4d0b
0
donBerto 101 Feb 07, 2003 at 15:10

they’re the ones you plugged your video cable too before video cards were around.

remember? :lol:

D046712cf3efd2c2d7840c4c51d28669
0
Yau 101 Feb 07, 2003 at 12:57

Never heard of an intel based video card… r they good??? Better than my Geforce 4 Ti???

590e8bdac8129bd87b188df15e62d0e5
0
CyraX 101 Feb 07, 2003 at 12:34

gl.14 has been adopted by nVidia and ATI.
AFAIK those are hte only two that count :unsure:
However gl2.0 would take a tremendous amount of load and consultations from nVidia and ATI. Basically the problem is that both the vendors do a lot of things in different ways. With OGL 2.0 they would have to converge the processing methods.
Now here comes the catch. Its business that they mean. If there are standards then what is it that ATI or nVidia offers you that is different from the other? I am sure everyone read the John carmack on NV30 and R300
That is the point. Each of the vendors is good @ their stands. NV30 from nVidia beats competition to crap (as usual) @ vendor specific paths. But hey, isnt OGL all about standards? That is where NV30 loses out. So its a conflict within nVidia about the possibility of doing away with their extensions (might be). If their extensions are incorporated, ATI is going down further into the Abyss.
Yet OGL 2.0 promises to be a good neXt step… @least in the white papers.

C24eb7e6aaefba78b94c831ddc7b4d0b
0
donBerto 101 Feb 06, 2003 at 22:19

@davepermen

you’re missing that porting to xbox is easy as .. well, as recompiling:D

oh come on! xbox is just a pc with a kick-ass gfx card running an ms OS. I doubt that counts as being cross-platform.
@davepermen

possibly dx gets crossplatform implementations thanks to .NET? i mean, mono should support all, not? hehe.. we’ll see:D

hmm… perhaps. good thinking.

what does everybody else think?

cheers

In response to Laser Weapon
0684f9d33f52fa189aad7ac9e8c87510
0
baldurk 101 Feb 06, 2003 at 18:29

aah. So you resize the rectangle dynamically so that it’s the right size? that’s really good, I didn’t think of that. Nice one!

In response to interview
Fdbdc4176840d77fe6a8deca457595ab
0
dk 158 Feb 06, 2003 at 18:06

Gimbal lock is where a rotation maps one principle axis onto another, resulting in a loss of a degree of freedom.
An example of when gimbal lock occurs is say for example, you you want to rotate around the x-axis, and what you get is a rotation around the y-axis. Any system that uses Eular angles will have problems with gimbal lock.

The way to fix that problem is to use Quaternions. Take a look at the following webpage and it will explain everything in detail:

http://www.gamedev.net/reference/programmi…ers/default.asp

6ad5f8c742f1e8ec61000e2b0900fc76
0
davepermen 101 Feb 06, 2003 at 17:29

you’re missing that porting to xbox is easy as .. well, as recompiling:D

and you’re missing that the linux target is not that big. could (should?) be different. but for me it doesn’t mather, as i said yet:D

possibly dx gets crossplatform implementations thanks to .NET? i mean, mono should support all, not? hehe.. we’ll see:D

6ad5f8c742f1e8ec61000e2b0900fc76
0
davepermen 101 Feb 06, 2003 at 17:24

ok good job. maybe I should be more careful. m$’ stuff is well documented, for the most part but I guess what I really meant is ease of navigation [through documentation]. and sensible examples that you don’t have to download. msdn’s documentation of MFC is a great example of the way you can easily* traverse through the documentation - but that’s almost purely due to the nature of MFC. [[ for those that don’t know about MFC, it’s basically inheritance-oriented and you can just follow down the ‘inheritance’ lineage. ]]

to browse documentation you simply use google, hehe:D
sdl doku is great, too..

let me take that back, the idea is noble. uniformity _usually_ leads to efficiency and COM certain does it. the issue isn’t knowing pointers that makes it bad. it’s the _knowing_ of pointers that make it vulnerable. i don’t like the idea of being able to point to any object and then access that object via the pointing pointer [still with me?]
again, maybe that’s just my opinion.

well.. whats the problem with it? when ever you do inheritance, you do the same. most the time when you use garbage collected languages, you use the same.
yes, you have a pointer to an object, but no, you cannot access the object through it. you have a pointer to the interface, nothing else.. (i think i had the opinion, i think, too.. dunno:D but its really a non-issue)

a ha! that’s why it sux - it’s not cross-platform!
of course, it won’t be cross-platform, it’s not in their best interest for it to be cross-platform [or will they benefit…?] you can do all this cool com object stuff but if it’s designed for a specific os then it sux. I’m thinking of activeX controls in some websites. of course, linux-users will not be able to use/display them [unless using crossover plugin?]… further adding to its suckiness.

com is a binary standard. com objects can/could run as well on linux, on mac, or what ever. (compiled for mac, of course). they can even run over network connections etc, very handy. (so your pointer can possibly be to a network object of windows, wich communicates with a mac, wich has itself a com object serving, wich runs the actual functions..

and there is support on other platforms. as far as i know.. and the idea of com objects does not force you to microsoft at all.. as you said, a nobel idea. noble to use everywhere..

actually, espencially for dynamic loading its great. you only need to load one function pointer, say for d3d. the one that creates the main object. and thats it.

com made windows rather save and stable actually. vulnerable? who wants to vulnerate dx? and gl is as vulnerable. easy, not?

anyways, sure its opinion as well. but once you learned something to know, you know its not as bad as people say.

In response to interview
D046712cf3efd2c2d7840c4c51d28669
0
Yau 101 Feb 06, 2003 at 15:01

What is a gimbal lock???

203e4e77a4880ecbd91054865fc5d0b7
0
Phaetos 101 Feb 06, 2003 at 10:17

I am developing for Linux only. I use OpenGL in combination with SDL, but I don’t want to port anything to Windoze. If someone does, its okay as all of my code is GPLed.

I would like to make Linux a far better gaming system than it is today. But my limited time makes this
nearly impossible.

DirectX sucks as it is not available on other platforms. So DirectX is per default a no-choice anyway. Think
of a big gaming development company and what time is needed to port a DirectX game to OpenGL to make
it run under Mac and/or Linux… It would be far more efficient to write it for OpenGL from the beginning, or
am I missing something?

Greets
Stefan

In response to Laser Weapon
D046712cf3efd2c2d7840c4c51d28669
0
Yau 101 Feb 06, 2003 at 06:52

OKay here u go… but this code is kinda untested.

void drawLaser(float origin[3],   // position where the laser originates
                         float dest[3],     // position where the laser ends
                         float camera_pos[3], // position of the camera
                         float radius // radius of laser
                         ) 
{
   float vector1[3];
   float vector2[3];

   // vector1 is the vector from origin to the camera
   vector1[0] = camera_pos[0] - origin[0];
   vector1[1] = camera_pos[1] - origin[1];
   vector1[2] = camera_pos[2] - origin[2];

   // vector2 is the vector from the origin to the destination
   vector2[0] = dest[0] - origin[0];
   vector2[1] = dest[1] - origin[1];
   vector2[2] = dest[2] - origin[2];

   float normal[3];
   
   // get the normal or cross product between vector1 and vector 2
   // we will use this vector to create a rectangle which runs along vector 2
   // and as facing a direction that give maximum surface area to the camera.

   normal[0] = vector1[1] * vector2[2] - vector1[2] * vector2[1];
   normal[1] = vector1[2] * vector2[0] - vector1[0] * vector2[2];
   normal[2] = vector1[0] * vector2[1] - vector1[1] * vector2[0];

   float magnitude;

   magnitude = sqrt(SQR(normal[0]) + SQR(normal[1]) + SQR(normal[2]));

   // normalize the normal, so the magnitude of normal is 1
   normal[0] = normal[0]/magnitude;
   normal[1] = normal[1]/magnitude;
   normal[2] = normal[2]/magnitude;

   // now create the corners for the rectangle
   float corners[4][3];

   // first corner
   corners[0][0] = origin[0] - (radius * normal[0]);
   corners[0][1] = origin[1] - (radius * normal[1]);
   corners[0][2] = origin[2] - (radius * normal[2]);

   // second corner
   corners[1][0] = origin[0] + (radius * normal[0]);
   corners[1][1] = origin[1] + (radius * normal[1]);
   corners[1][2] = origin[2] + (radius * normal[2]);

   // third corner
   corners[2][0] = dest[0] + (radius * normal[0]);
   corners[2][1] = dest[1] + (radius * normal[1]);
   corners[2][2] = dest[2] + (radius * normal[2]);

   // forth corner
   corners[3][0] = dest[0] - (radius * normal[0]);
   corners[3][1] = dest[1] - (radius * normal[1]);
   corners[3][2] = dest[2] - (radius * normal[2]);

   // now draw the rectangle

   // you can add material, colours or texture commands here to make ur laser look more funky
   glBegin(GL_QUADS);
      // remember add a texture coordinate infront of each glVertex3fv for funkier looking lasers

      glVertex3fv(corners[0]);
      glVertex3fv(corners[1]);
      glVertex3fv(corners[2]);
      glVertex3fv(corners[3]);
   glEnd();

}

And finished.

B4 i mentioned that we should rotated the rectangle to allow maximum surface area to face the camera. You may notice that there r no OpenGL rotate commands here, but by using the normal between the vector from the start of the laser to the camera and the vector from the start of the laser to the end to generate the rectangle we esentially created a rectangle rotated to face the camera nicely.

I hope this code works because I kinda fudged it on the spot.

C24eb7e6aaefba78b94c831ddc7b4d0b
0
donBerto 101 Feb 06, 2003 at 06:25

:nod: easy… easy… we’re all friends in here… right?

I made no comments on OpenGL being at a disadvantage in releases [although somebody else may have]. the only thing I said was that DX would probably come out with better techniques faster than OpenGL would, and I’m basing that on the past releases of DX vs GL.

second, I know pointers are powerful. I imagine most of us use them almost every chance we can. i’m not saying it sux because it’s powerful. and maybe I should clarify. I think it’s abusive to write everything in pointers and I get the impression mainly in DX, not so much in COM.

I can be a bit passionate sometimes and may skew off-topic. but know that I mean not to insult anybody and if I did, I apologize.

D491261d0cdbea6f1f04129ba87f4d09
0
void 101 Feb 06, 2003 at 06:13

BTW, not liking the COm interface because you have a dislike of pointers is naive. Pointers are probably the most powerful feature of languages which have them.

D491261d0cdbea6f1f04129ba87f4d09
0
void 101 Feb 06, 2003 at 06:00

donBerto, what you said is TOTALLY wrong. one of the major advatages of opengl is that it exposes new features MUCH quicker than DX. Why? because it does so through extentions… while DX has no extentions, and so the only way a new feature can be exposed is through the next release of DX, which can take up to a year… Now, extentions have their own problems of course, but everything has its price. For example, NVIDIA said that the NV30 has features that can be accessed ONLY through openGL extentions, and cant be accessed AT ALL through DX, well, until the next revision comes along.

In response to Laser Weapon
E05263ec846eb85da803f56e2917962d
0
Noor 101 Feb 06, 2003 at 01:50

@Yau

Well if a laser is a true cylinder then if u were to only see a portion of the cyclinder flashing past ur eyes all u would see is a rectangle?? So u can use billboards to represent a laser but u don’t rotate ur billboard so it always faces the viewers camera.

So if u consider a laser with 2 points, point A where is originates from (probably a gun), point B it’s destination or current position. Then u draw a rectangle with a height equal to the diameter of the laser with one end at point A and the other end at point B. U can rotate the rectangle by the vector AB so that the viewer can see the maximum surface area of the rectangle.

Should the laser fire directly at the viewer then draw a circle using a billboard to create the effect.

If u use billboard u can create the 3D effects if u have really cool textures.

opps…. I said the hieght of rectangle should be the radius of the laser beam, in fact it should be the diameter.

Yau, could you please post some details of how to accomplish your idea of having one rectangle (which is exactly what i want)? Maybe some code will help. I think the most important thing here is the math behind it which is what i’m mosly looking for.

Or if you have a website, that would also help.

Thanks

In response to Laser Weapon
C24eb7e6aaefba78b94c831ddc7b4d0b
0
donBerto 101 Feb 06, 2003 at 01:03

with baldurk’s implementation, I’d make the ‘prism’ spin/rotate.

i like his idea but in my personal opinion, unless you make it dynamic [make it move or add some really cool things like baldurk said, lighting in itself may work against it, making it look kind of … different :huh:

what i’m getting at is, it’s like a big ‘triangular piece of “metal” ‘ will go from the weapon to the target. cool funny effect, maybe not so ‘realistic’. open to interpretation. :lol:

Welcome to DevMaster, a community-driven game development website of posts and resources!

Recent Tags

indie × 5
game-development × 5
ios × 3
android × 3
iphone × 1
c# × 1
mobile × 1
physics-engines × 1
native × 1
macos × 1
sound × 1
music × 1
multiplayer × 1
networking × 1
testing × 1
game-programming × 1
design-patterns × 1
3d-engine × 1
shaders × 1
cross-platform × 1
gaming × 1
game-design × 1
game-industry × 1
graphics × 1
royalty × 1