rdb 645ee9d05f fix compile error on tiger 13 лет назад
..
README.txt 804a72b716 Partially apply typo fix patch I found somewhere on the web, by someone named Christoph Korn 15 лет назад
Sources.pp 30872b617e somewhat experimental support for 64-bits OS X and OS X Lion 13 лет назад
clip.cxx 3a75ebde9a DepthOffsetAttrib::min_value, max_value 14 лет назад
config_tinydisplay.cxx 30872b617e somewhat experimental support for 64-bits OS X and OS X Lion 13 лет назад
config_tinydisplay.h 59fb785d68 it's called p3tinydisplay now 14 лет назад
error.cxx 923c9929a1 a few more warning squelches 17 лет назад
image_util.cxx 501470169f stdfloat_double 14 лет назад
init.cxx 3a75ebde9a DepthOffsetAttrib::min_value, max_value 14 лет назад
memory.cxx 4187bbd8bf proper mem accounting 17 лет назад
p3tinydisplay_composite1.cxx dfe16c64f6 rename all Panda-built libraries to begin with libp3 or libpanda 14 лет назад
p3tinydisplay_composite2.cxx dfe16c64f6 rename all Panda-built libraries to begin with libp3 or libpanda 14 лет назад
specbuf.cxx 501470169f stdfloat_double 14 лет назад
store_pixel.cxx fb9c56432a we are now using the modified BSD license 17 лет назад
store_pixel.h e4709607c3 color mask 17 лет назад
store_pixel.py e4709607c3 color mask 17 лет назад
store_pixel_code.h e4709607c3 color mask 17 лет назад
store_pixel_table.h e4709607c3 color mask 17 лет назад
td_light.cxx 501470169f stdfloat_double 14 лет назад
td_texture.cxx 1b37ee8b9c composite build 17 лет назад
tinyGeomMunger.I fb9c56432a we are now using the modified BSD license 17 лет назад
tinyGeomMunger.cxx 1aa39d8088 rename TinyGL -> TinyPanda 17 лет назад
tinyGeomMunger.h 1aa39d8088 rename TinyGL -> TinyPanda 17 лет назад
tinyGraphicsBuffer.I 024c9c31cb add get_frame_buffer 16 лет назад
tinyGraphicsBuffer.cxx e91fb0d53e better implementation of set_one_shot() 14 лет назад
tinyGraphicsBuffer.h 024c9c31cb add get_frame_buffer 16 лет назад
tinyGraphicsStateGuardian.I d653bfc559 lighting optimization 17 лет назад
tinyGraphicsStateGuardian.cxx 3a75ebde9a DepthOffsetAttrib::min_value, max_value 14 лет назад
tinyGraphicsStateGuardian.h 501470169f stdfloat_double 14 лет назад
tinyOffscreenGraphicsPipe.I 24caf70155 tinyOffscreenGraphicsPipe 17 лет назад
tinyOffscreenGraphicsPipe.cxx 7af1350e4e pass GraphicsEngine through to constructors 17 лет назад
tinyOffscreenGraphicsPipe.h 7af1350e4e pass GraphicsEngine through to constructors 17 лет назад
tinyOsxGraphicsPipe.I fb9c56432a we are now using the modified BSD license 17 лет назад
tinyOsxGraphicsPipe.cxx 30872b617e somewhat experimental support for 64-bits OS X and OS X Lion 13 лет назад
tinyOsxGraphicsPipe.h 30872b617e somewhat experimental support for 64-bits OS X and OS X Lion 13 лет назад
tinyOsxGraphicsWindow.I 58c13de4ca integrate changes from Schell Games (plus some tab character fixes) 16 лет назад
tinyOsxGraphicsWindow.h 30872b617e somewhat experimental support for 64-bits OS X and OS X Lion 13 лет назад
tinyOsxGraphicsWindow.mm 645ee9d05f fix compile error on tiger 13 лет назад
tinySDLGraphicsPipe.I fb9c56432a we are now using the modified BSD license 17 лет назад
tinySDLGraphicsPipe.cxx 8b407bb654 build tinysdl with new engine rules 17 лет назад
tinySDLGraphicsPipe.h 8b407bb654 build tinysdl with new engine rules 17 лет назад
tinySDLGraphicsWindow.I fb9c56432a we are now using the modified BSD license 17 лет назад
tinySDLGraphicsWindow.cxx d743dc8a55 The buffer flip should be performed in end_flip(), not in begin_flip(). This long-existing mistake caused double-flips with parasite buffers in effect. 14 лет назад
tinySDLGraphicsWindow.h d743dc8a55 The buffer flip should be performed in end_flip(), not in begin_flip(). This long-existing mistake caused double-flips with parasite buffers in effect. 14 лет назад
tinyTextureContext.I 6872488839 stereo/multiview textures 14 лет назад
tinyTextureContext.cxx a8ec068c05 graphics-memory-limit 17 лет назад
tinyTextureContext.h 6872488839 stereo/multiview textures 14 лет назад
tinyWinGraphicsPipe.I fb9c56432a we are now using the modified BSD license 17 лет назад
tinyWinGraphicsPipe.cxx 7af1350e4e pass GraphicsEngine through to constructors 17 лет назад
tinyWinGraphicsPipe.h 7af1350e4e pass GraphicsEngine through to constructors 17 лет назад
tinyWinGraphicsWindow.I fb9c56432a we are now using the modified BSD license 17 лет назад
tinyWinGraphicsWindow.cxx d743dc8a55 The buffer flip should be performed in end_flip(), not in begin_flip(). This long-existing mistake caused double-flips with parasite buffers in effect. 14 лет назад
tinyWinGraphicsWindow.h d743dc8a55 The buffer flip should be performed in end_flip(), not in begin_flip(). This long-existing mistake caused double-flips with parasite buffers in effect. 14 лет назад
tinyXGraphicsPipe.I 905cd3ad69 tinyXGraphicsStuff depend on x11display 16 лет назад
tinyXGraphicsPipe.cxx 905cd3ad69 tinyXGraphicsStuff depend on x11display 16 лет назад
tinyXGraphicsPipe.h 905cd3ad69 tinyXGraphicsStuff depend on x11display 16 лет назад
tinyXGraphicsWindow.I fb9c56432a we are now using the modified BSD license 17 лет назад
tinyXGraphicsWindow.cxx d743dc8a55 The buffer flip should be performed in end_flip(), not in begin_flip(). This long-existing mistake caused double-flips with parasite buffers in effect. 14 лет назад
tinyXGraphicsWindow.h d743dc8a55 The buffer flip should be performed in end_flip(), not in begin_flip(). This long-existing mistake caused double-flips with parasite buffers in effect. 14 лет назад
vertex.cxx 501470169f stdfloat_double 14 лет назад
zbuffer.cxx 58c13de4ca integrate changes from Schell Games (plus some tab character fixes) 16 лет назад
zbuffer.h 501470169f stdfloat_double 14 лет назад
zdither.cxx 58c13de4ca integrate changes from Schell Games (plus some tab character fixes) 16 лет назад
zfeatures.h 58c13de4ca integrate changes from Schell Games (plus some tab character fixes) 16 лет назад
zgl.h 3a75ebde9a DepthOffsetAttrib::min_value, max_value 14 лет назад
zline.cxx 58c13de4ca integrate changes from Schell Games (plus some tab character fixes) 16 лет назад
zline.h 58c13de4ca integrate changes from Schell Games (plus some tab character fixes) 16 лет назад
zmath.cxx 501470169f stdfloat_double 14 лет назад
zmath.h 501470169f stdfloat_double 14 лет назад
ztriangle.h 501470169f stdfloat_double 14 лет назад
ztriangle.py c9ce1ada45 better solution for win32 linking? 17 лет назад
ztriangle_1.cxx 4b48520ada fix build issues on windows 17 лет назад
ztriangle_2.cxx 4b48520ada fix build issues on windows 17 лет назад
ztriangle_3.cxx 4b48520ada fix build issues on windows 17 лет назад
ztriangle_4.cxx 4b48520ada fix build issues on windows 17 лет назад
ztriangle_code_1.h c9ce1ada45 better solution for win32 linking? 17 лет назад
ztriangle_code_2.h c9ce1ada45 better solution for win32 linking? 17 лет назад
ztriangle_code_3.h c9ce1ada45 better solution for win32 linking? 17 лет назад
ztriangle_code_4.h c9ce1ada45 better solution for win32 linking? 17 лет назад
ztriangle_table.cxx c9ce1ada45 better solution for win32 linking? 17 лет назад
ztriangle_table.h a32fe74070 3-stage multitexture 17 лет назад
ztriangle_two.h 501470169f stdfloat_double 14 лет назад

README.txt

The code in this directory was lifted from TinySDGL, which was itself
modified from TinyGL, a project originally written by Fabrice Bellard.
The README and LICENSE files that accompany that project are included
here.

We have modified the original TinyGL code to interface more directly
with the Panda3D constructs, eliminating the thin OpenGL interface
layer. We have also added features we deemed necessary, such as
texture modulate mode and alpha blending.


-------------------------------------------------------------------
Original TinySDGL/TinyGL LICENSE

Copyright notice:

(C) 1997-1998 Fabrice Bellard

This software is provided 'as-is', without any express or implied
warranty. In no event will the authors be held liable for any damages
arising from the use of this software.

Permission is granted to anyone to use this software for any purpose,
including commercial applications, and to alter it and redistribute it
freely, subject to the following restrictions:

1. The origin of this software must not be misrepresented; you must not
claim that you wrote the original software. If you use this software
in a product, an acknowledgment in the product and its documentation
*is* required.
2. Altered source versions must be plainly marked as such, and must not be
misrepresented as being the original software.
3. This notice may not be removed or altered from any source distribution.

If you redistribute modified sources, I would appreciate that you
include in the files history information documenting your changes.


-------------------------------------------------------------------
Original TinySDGL/TinyGL README

TinyGL 0.4 (c) 1997-2002 Fabrice Bellard.
TinySDGL 0.5, 2005 a port to libSDL by Gerald Franz ([email protected]).

General Description:
--------------------

TinyGL is intended to be a very small implementation of a subset of
OpenGL* for embedded systems or games. It is a software only
implementation. Only the main OpenGL calls are implemented. All the
calls I considered not important are simply *not implemented*.

The main strength of TinyGL is that it is fast and simple because it
has not to be exactly compatible with OpenGL. In particular, the
texture mapping and the geometrical transformations are very fast.

The main features of TinyGL are:

- Header compatible with OpenGL (the headers are adapted from the very good
Mesa by Brian Paul et al.)

- Zlib-like licence for easy integration in commercial designs (read
the LICENCE file).

- Examples that show the integration into the platform-independent
libSDL (http://www.libsdl,org)

- Easy porting to further platforms, since all platform-specific code has
been moved from the core library into the examples.

- OpenGL like lighting.

- Complete OpenGL selection mode handling for object picking.

- 16 bit Z buffer. 16/24/32 bit RGB rendering. High speed dithering to
paletted 8 bits if needed. High speed conversion to 24 bit packed
pixel or 32 bit RGBA if needed.

- Fast Gouraud shadding optimized for 16 bit RGB.

- Fast texture mapping capabilities, with perspective correction and
texture objects.

- 32 bit float only arithmetic.

- Very small: compiled (and stripped) code size of about 40 kB on x86.
The file include/zfeatures.h can be used to remove some unused
features from TinyGL.

- C sources for GCC on 32/64 bit architectures. It has been tested
successfully on x86-Linux and MS Windows.

Examples:
---------

I took three simple examples from the Mesa package to test the main
functions of TinyGL. You can link them to either TinyGL, Mesa or any
other OpenGL implementation.

- texobj illustrates the use of texture objects. Its shows the speed
of TinyGL in this case (example not included in TinySDGL).

- You can download and compile the VReng project to see that TinyGL
has been successfully used in a big project
(http://www-inf.enst.fr/vreng).

Architecture:
-------------

TinyGL is made up four main modules:

- Mathematical routines (zmath).

- OpenGL-like emulation (zgl).

- Z buffer and rasterisation (zbuffer).

To use TinySDGL in a further system, you should look at the examples
and replace the SDL specific code by corresponding commands.

Notes - limitations:
--------------------

- 24 BIT packed pixel format seems not to work correctly under libSDL.

- See the file 'LIMITATIONS' to see the current functions supported by the API.

- Multithreading could be easily implemented since no global state
is maintained. The library gets the current context with a function
which can be modified.

- Lightening is not very fast. I suppose that in most games the
lightening is computed by the 3D engine.

- Some changes are needed for 64 bit pointers for the handling of
arrays of float with the GLParam union.

- No user clipping planes are supported.

- No color index mode (no longer useful !)

- The mipmapping is not implemented.

- The perspecture correction in the mapping code does not use W but
1/Z. In any 'normal scene' it should work.

Why ?
-----

TinyGL was developed as a student project for a Virtual Reality
network system called VReng (see the VReng home page at
http://www-inf.enst.fr/vreng).

At that time (January 1997), my initial project was to write my own 3D
rasterizer based on some old sources I wrote. But I realized that it
would be better to use OpenGL to work on any platform. My problem was
that I wanted to use texture mapping which was (and is still) quite
slower on many software OpenGL implementation. I could have modified
Mesa to suit my needs, but I really wanted to use my old sources for
that project.

I finally decided to use the same syntax as OpenGL but with my own
libraries, thinking that later it could ease the porting of VReng to
OpenGL.

Now VReng is at last compatible with OpenGL, and I managed to patch
TinyGL so that VReng can still work with it without any modifications.

Since TinyGL may be useful for some people, especially in the world of
embedded designs, I decided to release it 'as is', otherwise, it would
have been lost on my hard disk !

------------------------------------------------------------------------------
* OpenGL(R) is a registered trademark of Silicon Graphics, Inc.
------------------------------------------------------------------------------
Fabrice Bellard. (Minor changes by Gerald Franz)