Jump to page: 1 2
Thread overview
Nonagon Release 4! MAJOR UPDATE!
Re: Nonagon Release 4! MAJOR UPDATE! - Google Group
Re: Nonagon Release 4! MAJOR UPDATE! - Shader demo
Aug 15, 2005
John Reimer
Aug 17, 2005
ElfQT
Aug 17, 2005
Mike Parker
Aug 17, 2005
ElfQT
Aug 17, 2005
Mike Parker
Aug 17, 2005
ElfQT
Aug 17, 2005
ElfQT
Aug 17, 2005
Mike Parker
Aug 17, 2005
Lars Ivar Igesund
Aug 18, 2005
Mike Parker
August 10, 2005
Whoo!  Almost two months in the making, nonagon Release 4 is a huge update.

What is nonagon?
------------------

Nonagon is a free (but not yet open-source) DirectX9-based general-purpose game engine written in D.  Right now, it has a fairly robust set of graphical and input commands.  There is no support for animated objects or collision / physics, but it has some fairly respectable features.

What's new?
-------------

FAR too much to list here on the newsgroup.  It's about 3 or 4 pages of additions and fixes in the help file.  The biggest addition is the new Programmable Pipeline, which allows you to use shaders and HLSL effects in place of the old, fixed-function pipeline.  Both pipelines are completely independent of one another, and it's easy to switch between them - just define a version and choose the right lib.

Other than that, there are some nice improvements to the input system, correct-looking cubemapping in the fixed-function pipeline, a new, more centralized rendering system, and a whole slew of bugfixes.

Nonagon also no longer depends upon d3dx9.dll, since D3DX has been made its own standardized part of DirectX.

Where can I get it?
--------------------

The main download for nonagon is here:
http://jamesdunne.no-ip.org/~jarrett/nonagonr4.zip
It includes the documentation, include files, and libs necessary to build
and run nonagon-based programs.

There is a small template file to get you started here:
http://jamesdunne.no-ip.org/~jarrett/nonagon_template.zip
This basically sets up nonagon in fixed-function mode and draws some text to
the screen.  There is also a compiled version of the program included.

Help!  I'm getting an error about "d3dx9_26.dll."
-------------------------------------------------

This is the new D3DX library that is part of DirectX.  It just came out in June, so you might not have it.  To install this DLL, you can download the setup here: http://jamesdunne.no-ip.org/~jarrett/dx9jun2005.zip

I _really_ hope to make some samples showing how to use the Programmable Pipeline, maybe I'll have some tomorrow.

Thanks!


August 10, 2005
"Jarrett Billingsley" <kb3ctd2@yahoo.com> wrote in message news:dddso3$14ik$1@digitaldaemon.com...

I almost forgot - I have set up a Google Group for nonagon.  You can visit it here: http://groups.google.com/group/nonagon


August 15, 2005
"Jarrett Billingsley" <kb3ctd2@yahoo.com> wrote in message news:dddso3$14ik$1@digitaldaemon.com...

Not that anyone cares, but I've put up a shader demo for download: http://jamesdunne.no-ip.org/~jarrett/nonagon_shader_demo_1.zip

You'll need a video card capable of Shader Model 2 to run it (none of the stuff I made as samples will compile to Pixel Shader 1, sorry).  The ZIP contains the source for the program as well as the 3 effect source files and a texture that accompanies one.  There is also a compiled binary of the sample and the required DXErr9.dll.  To build the source, you'll need to have the nonagon headers and libs installed.

The demo shows off three effects - cartoon shading, volumetric fog, and cubemapping - and shows how to make nonagon-compatible effects.  It shows the basic process of creating effects and instances, setting parameters, static parameters, shared parameters, using multiple techniques, and the texture autoloading feature to load an effect directly into an effect parameter.  And it has bouncing teapots.  What more could you want?


August 15, 2005
Jarrett Billingsley wrote:
> "Jarrett Billingsley" <kb3ctd2@yahoo.com> wrote in message news:dddso3$14ik$1@digitaldaemon.com...
> 
> Not that anyone cares, but I've put up a shader demo for download: http://jamesdunne.no-ip.org/~jarrett/nonagon_shader_demo_1.zip
> 
> You'll need a video card capable of Shader Model 2 to run it (none of the stuff I made as samples will compile to Pixel Shader 1, sorry).  The ZIP contains the source for the program as well as the 3 effect source files and a texture that accompanies one.  There is also a compiled binary of the sample and the required DXErr9.dll.  To build the source, you'll need to have the nonagon headers and libs installed.
> 
> The demo shows off three effects - cartoon shading, volumetric fog, and cubemapping - and shows how to make nonagon-compatible effects.  It shows the basic process of creating effects and instances, setting parameters, static parameters, shared parameters, using multiple techniques, and the texture autoloading feature to load an effect directly into an effect parameter.  And it has bouncing teapots.  What more could you want? 
> 
> 

Excellent examples, Jarrett.  The sample ran well on my ATI X800XL card! :-)  It looks like an amazingly small amount code to produce such great results.

As you mentioned, I had to download the directX update to get things working, though.

-JJR
August 15, 2005
"John Reimer" <terminal.node@gmail.com> wrote in message news:ddovq5$2v0c$1@digitaldaemon.com...
> Excellent examples, Jarrett.  The sample ran well on my ATI X800XL card! :-)  It looks like an amazingly small amount code to produce such great results.
>
> As you mentioned, I had to download the directX update to get things working, though.
>
> -JJR

Yaaay, a response!  :)

What I'm particularly pleased with are the effects - since I've implemented the programmable pipeline in nonagon, I've come to realize how wonderfully flexible yet simple they are.  I'm also very happy with how I've managed to work them into the engine, and have them retain most of their flexibility, while making them almost "plug and play" with little to no extra setup needed.

Thanks for the reply; I've posted my announcements on several forums and this newsgroup and this is really the first real reply I've gotten about nonagon.  It's encouraging to know that _someone_ is interested!


August 17, 2005
Well I'm also interested in D and DirexctX, as you probably know.
About nonagon I'm curious, but a closed source engine in the making without
proper documentation is less interesting for me than to learn the the full
3d and DX stuff myself.
What I accomplished by now, I've ported the first five C++ D3D tutorials to
D... I guess I'm behind you a few years ;)
Also, I don't wan't to use D3DX, so I had to write a texture loader.
Right now I'm stuck with loading X. files. Seems a hard one for me.

ElfQT

"Jarrett Billingsley" <kb3ctd2@yahoo.com> wrote in message news:ddqe0u$164l$1@digitaldaemon.com...
> "John Reimer" <terminal.node@gmail.com> wrote in message news:ddovq5$2v0c$1@digitaldaemon.com...
> > Excellent examples, Jarrett.  The sample ran well on my ATI X800XL card! :-)  It looks like an amazingly small amount code to produce such great results.
> >
> > As you mentioned, I had to download the directX update to get things working, though.
> >
> > -JJR
>
> Yaaay, a response!  :)
>
> What I'm particularly pleased with are the effects - since I've
implemented
> the programmable pipeline in nonagon, I've come to realize how wonderfully flexible yet simple they are.  I'm also very happy with how I've managed
to
> work them into the engine, and have them retain most of their flexibility, while making them almost "plug and play" with little to no extra setup needed.
>
> Thanks for the reply; I've posted my announcements on several forums and this newsgroup and this is really the first real reply I've gotten about nonagon.  It's encouraging to know that _someone_ is interested!
>
>


August 17, 2005
Jarrett Billingsley wrote:

> Thanks for the reply; I've posted my announcements on several forums and this newsgroup and this is really the first real reply I've gotten about nonagon.  It's encouraging to know that _someone_ is interested! 
> 

I would be extremely interested if it were API agnostic. Such a strong dependency on D3D is not something I'm a big fan of. Not knocking D3D, as it's usually a better choice on Windows than OpenGL, but such a dependency pretty much negates the possibility of cross-platform functionality. And even if that weren't an issue for me, the dependency on a specific version of D3D and D3DX is icky. In the context of games, the D3D9 market is a small segment of the overall market. For AAA developers releasing boxed titles, that's no big deal. But for indies distributing online, it's huge. While some have moved to D3D8, others are still using D3D7.

It's a great effort you've got going, and I wish you success with it. But you are really limiting your user base by locking in to D3D9.
August 17, 2005
Well, the question is then, what is the purpose and the target of such an engine.

I myself don't see why - speaking of DirectX and not the 3d API independent way now - any new engine should care anything before d3d9. It's easier, it's faster, it's supports more 3d stuff, it's free to downloadad, and moreover when anything serious will be accomplished inside and with a given new engine d3d9 or later will be the standard. (Who wants a game or 3d app without the newest fancy stuff - like shaders, usable with d3d9?) (Consider I didn't wrote this to argue, it's just my humble opinion .)

Do you know Ogre3d? It's open source and it's renderer (dx versions, opengl,
whatever) independent.
There was a project to convert it to D (which is stopped on the first step
as I see).
Also I'd be curious of the price of the independence in terms of
performance. (Ogre has it's inner abstractions for everything, so has to
convert everything for the used renderer at every load/step.)

Also afaik d3dx is well written/optimized.

I'm sure there's a need of a good 3d engine in D, either with or without API
independence.
It must be less in time to develop and upgrade and maintain than c++
version - if not, D fails it's goals.

But as I see, ppl who try to write these amateur/home/experiantal engines simply fail to judge how gigantically big task is that (or else they have 1,2, 5 etc years to develop, or they are rare geniuses or both).

ElfQT


"Mike Parker" <aldacron71@yahoo.com> wrote in message news:ddv1la$2clj$1@digitaldaemon.com...
> Jarrett Billingsley wrote:
>
> > Thanks for the reply; I've posted my announcements on several forums and this newsgroup and this is really the first real reply I've gotten about nonagon.  It's encouraging to know that _someone_ is interested!
> >
>
> I would be extremely interested if it were API agnostic. Such a strong dependency on D3D is not something I'm a big fan of. Not knocking D3D, as it's usually a better choice on Windows than OpenGL, but such a dependency pretty much negates the possibility of cross-platform functionality. And even if that weren't an issue for me, the dependency on a specific version of D3D and D3DX is icky. In the context of games, the D3D9 market is a small segment of the overall market. For AAA developers releasing boxed titles, that's no big deal. But for indies distributing online, it's huge. While some have moved to D3D8, others are still using D3D7.
>
> It's a great effort you've got going, and I wish you success with it. But you are really limiting your user base by locking in to D3D9.


August 17, 2005
ElfQT wrote:
> Well, the question is then, what is the purpose and the target of such an
> engine.
> 
> I myself don't see why - speaking of DirectX and not the 3d API independent
> way now - any new engine should care anything before d3d9. It's easier, it's
> faster, it's supports more 3d stuff, it's free to downloadad, and moreover
> when anything serious will be accomplished inside and with a given new
> engine d3d9 or later will be the standard. (Who wants a game or 3d app
> without the newest fancy stuff - like shaders, usable with d3d9?) (Consider
> I didn't wrote this to argue, it's just my humble opinion .)

Yeah, if Nonagon is targeted at high-end games, then sure. But what you have to realize is that Joe user rarely updates his graphics drivers, probably doesn't even know what that phrase means, and can't be expected to have the latest DirectX runtime. People who buy HalfLife 2, Doom 3, and other AAA titles are a bit more knowledgeable than Joe user on this stuff. They understand about graphics drivers and DX updates.

Take a look at Real Arcade or any of the other online distributers of Independently developed games. You might find one or two that require DX9, but the vast majority (even recent releases) will require DX7 or 8 as a minimum.

> 
> Do you know Ogre3d? It's open source and it's renderer (dx versions, opengl,
> whatever) independent.
> There was a project to convert it to D (which is stopped on the first step
> as I see).
> Also I'd be curious of the price of the independence in terms of
> performance. (Ogre has it's inner abstractions for everything, so has to
> convert everything for the used renderer at every load/step.)

There's always going to be a price to pay for abstraction, from performance penalties to memory costs. But look at some of the professional engines used in games out there - every version of the Unreal Engine, Gamebryo (formerly NetImmerse) and Renderware, for example, have been used in mutliple titles and are all API agnostic. The penalty for abstraction exists, but is negligible. I recommend you read the book 3D Game Engine Architecture by Davd Eberly. It explains the design philosopy behind his WildMagic engine, which is based on his work with NetImmerse (he was one of the original architects of that engine). The benefits of API independence far outweigh the detriments and is a driving reason behind third party engine market.

Anyway, I'm not criticizing Nonagon at all. I think it's a great effort. But it's not for me because the dependence on Direct3D 9 puts it squarely in a high end (hardcore) gamer market segment and restricts the ability to port it to other platforms D might make it to. Maybe that's what Jarret's goal is, and if so, more power to him ;)
August 17, 2005
I just don't get the D3D7 D3D8 part.
You can redistrubute Dx runtime with your software.
Installer should check and update on Joe's system.

> The benefits of API independence ...

Well I think the most important benefit of API independence is HW
independence means different platforms (different consoles and PC) which
means bigger market which means more money.
If you want to make an exclusive XBOX game, you will lose resources on being
api independent.
And if you want to squeeze out the best performance from a console, you have
to be close to its hw and low level api.

I don't think nonagon targets "high end market".
It's just simplier to learn and develop for one single api, or at least
directx with d3dx, because it's well built and documented (at least in
comparsion).
I also stick with DirectX for now - withoud D3DX, but that's because I'd
like to learn the inner workings. If I had to make a product I'd use D3DX -
I don't have the resource to remake the functions, in terms of optimization
and testing etc.

Why are you interested in a 3D engine written in D, I mean why don't you
use, say, Ogre?
Or what about porting Ogre to D?

ElfQT


« First   ‹ Prev
1 2