What's new

NICE work, Orkin

Valek

New member
Seriously, excellent work on your glNintendo64() plugin! Even though it doesn't run many games, the ones it is capable of running run absolutely flawlessly. I have never seen a plugin that runs ROMs as smoothly as yours! Anyway, keep up the good work. Can't wait for the next release.
 

ScottJC

At your service, dood!
Oh, don't make me do the puppy dog pout to make you come back orkin :cry:

:happy: lol
 

Orkin

d1R3c764 & g1|\|64 m4|<3R
Thanks Valek. :D

My goal for glN64() has always been quality over quantity, so I'm always happy to see that someone thinks I'm succeeding. :)

And yes, I am still working on it. It's just been hard to find time ever since the fall semester started. I'm going to try to finish up another release during Christmas break (maybe as a Christmas present?), so get ready for some more glN64() sweetness!

Recently I've been re-re-writing the combiner so that now it automatically converts the N64 combine mode to your video card's native blending method instead of using a predefined lookup table. I've only done it for GeForce cards so far, but I wrote it in a way that makes it much easier to add support for other cards. This basically means that there are no more "unsupported combine modes"!

Anyway, expect to see more about the next release within the next couple weeks...

Orkin
 

Doomulation

?????????????????????????
Oh yes, great! This really sound like it's gonna be a super-plugin, just like Jabo's.
Good work, orkin.
 

Cyberman

Moderator
Moderator
Orkin said:
Thanks Valek. :D

My goal for glN64() has always been quality over quantity, so I'm always happy to see that someone thinks I'm succeeding. :)

And yes, I am still working on it. It's just been hard to find time ever since the fall semester started. I'm going to try to finish up another release during Christmas break (maybe as a Christmas present?), so get ready for some more glN64() sweetness!

Recently I've been re-re-writing the combiner so that now it automatically converts the N64 combine mode to your video card's native blending method instead of using a predefined lookup table. I've only done it for GeForce cards so far, but I wrote it in a way that makes it much easier to add support for other cards. This basically means that there are no more "unsupported combine modes"!

Anyway, expect to see more about the next release within the next couple weeks...

Orkin
I thought you died?!

Darn ;)

Well good to see you alive still for :holiday: and stuff. I've been getting nasty anoying errors when I've been using GL .. haven't looked into it a lot. However I probably should :blush:. So what's up anyhow? Geforce cards support 1.2 spec.. honestly you should support just the spec with GL. You can do a lot with it.

Cyb - OGL 2.0 should be coming out sometime!
 

Orkin

d1R3c764 & g1|\|64 m4|<3R
Why don't I just use the 1.2 spec? I'll tell you why; non extended OpenGL's blending plain old stinks. Only four functions are available (REPLACE, MODULATE, DECAL, and BLEND). Sure, you can do alot with the 1.2 spec, but alot isn't enough in this case.

The widely supported EXT_texture_env_combine extension helps alot, but still can't match the N64's blending. No crossbarring, one constant color per stage, no subtraction, etc... I could do multipass...but that gets slow, sloppy, and you run into problems when you want to do stuff with alpha.

That's why I'm using NV_register_combiners to do the blending. With it I can perfectly emulate almost any combine mode the N64 can do.

Radeon cards can do good blending too, but they use a completely different set of extensions, so I have to write another combiner specifically for them, and since I don't have a Radeon card to test with... :cry:
 

Cyberman

Moderator
Moderator
Orkin said:
Why don't I just use the 1.2 spec? I'll tell you why; non extended OpenGL's blending plain old stinks. Only four functions are available (REPLACE, MODULATE, DECAL, and BLEND). Sure, you can do alot with the 1.2 spec, but alot isn't enough in this case.

The widely supported EXT_texture_env_combine extension helps alot, but still can't match the N64's blending. No crossbarring, one constant color per stage, no subtraction, etc... I could do multipass...but that gets slow, sloppy, and you run into problems when you want to do stuff with alpha.

That's why I'm using NV_register_combiners to do the blending. With it I can perfectly emulate almost any combine mode the N64 can do.

Radeon cards can do good blending too, but they use a completely different set of extensions, so I have to write another combiner specifically for them, and since I don't have a Radeon card to test with... :cry:

And that is why I hate extensions, SGI I guess has little to any motivation on moving faster. Of course there is the fact 1.4 should be supported by a lot of these card makers (sigh). I just hate non standard crap. It's great if that's all you have but what's the point of having extensions that are incompatible between cards?!

One can't expect ATI to support NVidia extensions and visa versa. Wouldn't make sense sense extensions in themselves are proprietary. Now I noticed that NWN supports shiney stuff and I suspect that may be because Geforce 3's and Radion's now support that in hardware as well.

Cyb
 

Rice

Emulator Developer
Orkin said:
Recently I've been re-re-writing the combiner so that now it automatically converts the N64 combine mode to your video card's native blending method instead of using a predefined lookup table. I've only done it for GeForce cards so far, but I wrote it in a way that makes it much easier to add support for other cards. This basically means that there are no more "unsupported combine modes"!
Orkin

It is very nice to hear. Orkin, nice job.

Regarding the automatic combiner compiler, I have one in the Unofficial Daedalus Rel. 2. The source code is available to download. It is for DirectX 8 only, but many parts of it should be also useful for Opengl. If you like, you may take a look. I hope it could help you in some sense.

Rice
 

Orkin

d1R3c764 & g1|\|64 m4|<3R
Cyb: I'm very frustrated by the whole situation too. Maybe when OpenGL 2.0 comes out things'll be easier.

Rice: Thanks! I wasn't sure if anyone was using a method like mine, I'll check out your implementation to see if I can learn anything from it.
 

jvolel

Destoryer of worlds
love hearing all this tech talk :geek: lol just wish i knew what the heck u guys where talkin about >_< ..... anyway good to here from ya orkin keep up the great work eh? :D ^_^
 

Cyberman

Moderator
Moderator
I think it's counter to the purpose of OGL .. One advantage DirectX has is that everyone has to comply with it since MS makes the standard.

Cyb
 

Rice

Emulator Developer
Not the DirectX part, but the reusable part to compile N64's combiner and alpha blender mode into some better and simplier format. Both DirectX and OGL can then compile the simplier format to DirectX way or OGL way, or Nvidia_register_combiner way.
 

milen

New member
Oh great but bad news.
NV extensions it means another Geforce only plugin.
Orkin in the past you said that you removed the two extensions IBM_something and NV_something fromyour plugin and I was so happy. Please can you release older version of your plugin without this extensions, I don't care if it's slow or not.
 

Orkin

d1R3c764 & g1|\|64 m4|<3R
I've only done it for GeForce cards so far, but I wrote it in a way that makes it much easier to add support for other cards.

I just haven't added support for other cards *yet*. Actually, the reason I switched the combining method was to make it easier to support other hardware. I'm planning on having at least two (and possibly three) combiners implemented by next release, each written for a different extension set (i.e. unextended, EXT_texture_env_combine, and NV_register_combiners).

So, as the song says, "don't worry, be happy!" :D

Orkin
 

milen

New member
Oh I didn't understand well your previous messages, I'm very happy now and don't warry at all.
I wish luck.
 

Cyberman

Moderator
Moderator
Orkin said:
I just haven't added support for other cards *yet*. Actually, the reason I switched the combining method was to make it easier to support other hardware. I'm planning on having at least two (and possibly three) combiners implemented by next release, each written for a different extension set (i.e. unextended, EXT_texture_env_combine, and NV_register_combiners).

So, as the song says, "don't worry, be happy!" :D

Orkin

Sounds like 'fun' too bad they aren't supporting 1.4 :)
It seems 1.4 spec supports what the extensions do and then some only universally. I know Nvidia is not basing it's GL drivers on MESA. Perhaps there is a MESA version for Windows somwhere.

As for me and GL, I'm just still stuck doing the box object for my C++ ogl library. I have sphere. texture maps, and I'm working on a BOX (hehe). Believe it or not the BOX is harder. One has to keep 8 3d points in the proper order to draw all six faces.. what a mess. Then of course there is the texture. I don't think I'll apply it as a cubic texture since that isn't supported in 1.2.1. I'm not sure what is the proper order for applying a single texture to a cube now that I think about it. (wee?).

I'm not sure if I am calling glCullfaces() properly either. My cones seem to be missing there disk on the bottom and the same with my cylinders. (mumble).

I suppose I'll have to add a glLight and lighting things as well. Testing it out should be fun too.. weee. :)

Cyb
 

Top