⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 wpw_tool_3d_95.html

📁 VC programing
💻 HTML
字号:
<HTML>

<HR><A NAME=TOOL_3D_RENDERING>
Return to <a href="win_prog_wis_tool.html#TOC">Table of Contents for this chapter</a><br>
<H4>Subject: New 3D Rendering ToolKIT</H4><PRE>
For the last year and a half I have been working on a commercial
3D rendering toolkit. I plan to give it a trial run by offering a
limited functionality version free on the net via ftp and/or software
repositories.

I have called it Genesis though the name will have to change eventually.
As far as I know Genesis is unique in that it has an open architecture. I
have a toolkit and documentation which enables it to be extended. This is
the first time I have given any information about it on the net, and I'm
really just testing the water to see if it generates any interest.

Genesis has a real time rendering engine:

                4,000-8,000 gouraud shaded polygon/sec on a Pentium/60
                Enhanced Span line algorithm
                Full texture mapping (perspective corrected)
                Unlimited light sources
                Specular highlights

The rendering engine has a comprehensive API enabling it to work with
other rendering engines which may be hardware or software based, eg.
BRender, Glint chip, Renderware, Open GL, Rendermorphics, Playstaion etc.

However it is much more than just another rendering toolkit. I have
been developing a powerfull windows based object editor. My objective is
to develop software which is as intuitive to use in 3D as a graphical
drawing program is in 2D. The object is edited via a number of 3D tools
eg. spin tool, box/sphere primitve creators, boolean CSG operators (eg.
subtraction, intersection and union) etc. What I hope will make Genesis
successfull is that if you need it to do something which I haven't
implemented then the toolkit contains all the details needed to write
your own tools without worrying about writing rendering software.

Writing a 3D tool for Genesis is as easy as writing a simple C program, and
will rarely go over 1,000 lines. The list of tools I have currently
implemented is not comprehensive yet by a long way;

Implemented tools:      Patch creator
                        Spheres and semi-spheres
                        Spin tool (sometimes called a lathe)
                        Boolean union
                        Boolean intersection
                        Boolean subtraction
                        Coordinate system editor
                        'Unconnected edge' highlighter

the list will include:  Boxes, Cones, Cylinders and torus's (which can
                        already be done which the Spin tool), extrusion,
                        landscapes, 3rd party file format loaders (eg. DXF)

Any kind of manipulation of 3D object data can be implemented as a Genesis
tool. Not only simple primitives but fractal landscape creation, architectural
tools and primitives, stress analysis, object/camera animation tools, 'physical
law' animation tools (as used by Wavefront's Dynamation package) etc. 'Savers'
and 'Loaders' for different file formats could also be implemented as tools. It
would even be possible to write say a DOOM WAD file saver, so that Genesis
could be used to design scenery's for such games.

Each tool is a DLL which contains an icon to be placed in the editors
'toolbox'. The tool is invoked by clicking its icon. When this happens the
tool is notified of various user interface events that happen in the editor
such as mouse moves (when the mouse moves you are actually moving a 3D cursor),
control bar button presses etc. The tool can use these events to carry out
the action it performs. Each tool should also be capable of undoing its
previous action. Each tool actually becomes seemlessly integrated into the
package as a whole.

When looked at like this the Genesis editor is little more than a shell
under which tools exist, all using the same interface. I am often reminded
of the popular fractal program Fractint and of how, by virtue of its open
architecture, it was contributed to by thousands of people the world over.
My hope is that Genesis will be to 3D graphics what Fractint was to fractals.

A debug toolkit and a 3D geometry tookit is also part of the package to make
the tool writers job easier.

Having used the program and its tools, the underyling Geometry engine can
be changed without any effect to the tools or the way the user uses the
program. The only difference the user will notice is in the speed of
the rendering. For instance when Sony's playstation hardware because available
on a PC card, all your glorious tools will render 100 times faster.

OK - so much for Genesis, now to the point - I am looking out for
people interested in playing with the toolkit, either to develop
serious tools or to help find bugs. If anyone is interested
or has any feedback at all I'll be glad to hear from you. Basically
Genesis could be extended indefinitely and that is too much work for
one person to take on. What is more if anyone develops a generally
usefull tool, with their permission I will include it in the first release
and they can take a share of the profits! Have I wetted your appetite
yet? Please E-mail me if your interested (spike@silicond.demon.co.uk)

....Steve

-- 
Spike Woodman (Silicon Dream Ltd. Southampton, UK)
                 *****  *****  *   *  *****  ****  *  **** (The sexiest 3D
   Author of..  *      *      **  *  *      *     *  *      editor in the
               *  **  ***    * * *  ***    ****  *  ****    universe)
              *   *  *      *  **  *         *  *     *
             *****  *****  *   *  *****  ****  *  ****
</PRE> 

</HTML>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -