a software renderer for different open handhelds like the gp2x, wiz, caanoo and pandora
C Makefile Other
Latest commit e30930e Jan 27, 2017 Alexander Matthes Added functions to get the name of a mapping based on the ID and vice…
… versa
Permalink
Failed to load latest commit information.
build * License change in README.md and PXML Sep 6, 2013
data Support for author and license of a sprite Feb 9, 2015
documentation Updated docu Sep 17, 2015
font * Documentation Jul 24, 2013
target-files Fixed build files for new debian testing build system Jan 25, 2017
wiki/images Added touchscreen support for devices without touchscreen (emulation) Jun 13, 2012
.gitignore I did the flipping with double buffering wrong - the whole time. O_O Jul 2, 2013
Makefile Fixed build files for new debian testing build system Jan 25, 2017
README.md Better README? Sep 16, 2015
Sparrow3D.sln Fixes to MSVC build errors Aug 28, 2013
Sparrow3D.vcproj Minor build update to project Aug 29, 2012
SparrowNet.vcproj Fixes to MSVC build errors Aug 28, 2013
SparrowSound.vcproj Sparrow VisualStudio project files Aug 29, 2012
ToDo Added functionality to draw arrow buttons Dec 19, 2014
about ToDo Mar 1, 2012
configure Typo Mar 2, 2013
count.sh * Test for already initialized sparrowParts. So you can initialize ev… Jan 26, 2013
license.txt * Added the license to LGPL only. Sep 6, 2013
make_every_target.sh Everyday I'm improving! Oct 29, 2014
old_tries fast texture mapping. me gusta me. Jul 27, 2011
sparrow3d.cbp Updated CodeBlocks project file with all the changes from the past de… Sep 21, 2014
sparrow3d.dev Project files for Dev C++ Feb 15, 2013
sparrow3d.h Particles! Aug 11, 2014
sparrowCore.c Fixed build files for new debian testing build system Jan 25, 2017
sparrowCore.h Fixed a little bug (I should not use spRand...) Mar 20, 2015
sparrowDefines.h R Ctrl is goofy. Let's try Menu! Apr 23, 2015
sparrowFile.c For some reason atof doesn't work on the original gp2x firmware. So I… Sep 19, 2015
sparrowFile.h * The sorting in the config file stays constant Sep 9, 2014
sparrowFont.c Removed some warnings, which made clang stop compilation Jun 13, 2016
sparrowFont.h Removed some warnings, which made clang stop compilation Jun 13, 2016
sparrowMapping.c Added functions to get the name of a mapping based on the ID and vice… Jan 27, 2017
sparrowMapping.h Added functions to get the name of a mapping based on the ID and vice… Jan 27, 2017
sparrowMath.c For some reason atof doesn't work on the original gp2x firmware. So I… Sep 19, 2015
sparrowMath.h For some reason atof doesn't work on the original gp2x firmware. So I… Sep 19, 2015
sparrowMesh.c For some reason atof doesn't work on the original gp2x firmware. So I… Sep 19, 2015
sparrowMesh.h * Added the license to LGPL only. Sep 6, 2013
sparrowNet.c Fixed build files for new debian testing build system Jan 25, 2017
sparrowNet.h Added support for ctcp stuff like /me (ACTION) Jun 16, 2015
sparrowParticles.c Fixed a little bug (I should not use spRand...) Mar 20, 2015
sparrowParticles.h Little changes, improvements... Feb 5, 2015
sparrowPrimitiveDrawingThread.c * Added the license to LGPL only. Sep 6, 2013
sparrowPrimitiveDrawingThread.h * Added the license to LGPL only. Sep 6, 2013
sparrowPrimitiveHelperAlphaTest.c * Added the license to LGPL only. Sep 6, 2013
sparrowPrimitiveHelperBlending.c * Added the license to LGPL only. Sep 6, 2013
sparrowPrimitiveHelperPattern.c * Added the license to LGPL only. Sep 6, 2013
sparrowPrimitiveHelperPerspective.c * Added the license to LGPL only. Sep 6, 2013
sparrowPrimitiveHelperZStuff.c * Added the license to LGPL only. Sep 6, 2013
sparrowPrimitiveSetPixelInclude.c NEON Apr 12, 2015
sparrowPrimitiveTexTriangleInclude.c Removed a variable Sep 17, 2015
sparrowPrimitiveTriangleInclude.c NEON Apr 12, 2015
sparrowPrimitives.c Fixed build files for new debian testing build system Jan 25, 2017
sparrowPrimitives.h Fixed bug about crashing after resize May 20, 2015
sparrowPrimitivesAsm.c "Improved" the Makefile. At least it's shorter. Mar 19, 2015
sparrowPrimitivesAsm.h "Improved" the Makefile. At least it's shorter. Mar 19, 2015
sparrowRenderer.c Better README? Sep 16, 2015
sparrowRenderer.h Fixed a little bug (I should not use spRand...) Mar 20, 2015
sparrowSound.c Fixed a little bug (I should not use spRand...) Mar 20, 2015
sparrowSound.dev Project files for Dev C++ Feb 15, 2013
sparrowSound.h Fixed a little bug (I should not use spRand...) Mar 20, 2015
sparrowSprite.c Fixed build files for new debian testing build system Jan 25, 2017
sparrowSprite.h Fixed a little bug (I should not use spRand...) Mar 20, 2015
sparrowText.c Fixed a little bug (I should not use spRand...) Mar 20, 2015
sparrowText.h Fixed a little bug (I should not use spRand...) Mar 20, 2015
test_cube.c Clean up of the examples Aug 3, 2013
test_cube.h Clean up of the examples Aug 3, 2013
test_fill.c Little include bug... Aug 3, 2013
test_fill.h Clean up of the examples Aug 3, 2013
test_gears.c Little include bug... Aug 3, 2013
test_gears.h Clean up of the examples Aug 3, 2013
test_mapping.c Added functionality to get the last collision errors for mapping Mar 21, 2014
test_mapping.h Added sparrowMapping Mar 20, 2014
test_mesh.c Added possibility to read the possible games from skeezix server Sep 8, 2013
test_mesh.h Added possibility to read the possible games from skeezix server Sep 8, 2013
test_parallax.c Clean up of the examples Aug 3, 2013
test_primitives.c Some improvements Aug 27, 2013
test_primitives.h Clean up of the examples Aug 3, 2013
test_sprites.c NEON support for perspective rendering (slow, but working) and color … Apr 13, 2015
test_sprites.h Clean up of the examples Aug 3, 2013
test_target.c Clean up of the examples Aug 3, 2013
test_target.h Forgot files ^^ Aug 3, 2013
test_text.c Little include bug... Aug 3, 2013
test_text.h Little include bug... Aug 3, 2013
test_tube.c Clean up of the examples Aug 3, 2013
test_tube.h Clean up of the examples Aug 3, 2013
test_yinyang.c Little include bug... Aug 3, 2013
test_yinyang.h Clean up of the examples Aug 3, 2013
testfile.c "Fancy" bug with directories on ISOs and stuff Feb 22, 2014
testfile.sh Merge branch 'master' of github.com:theZiz/sparrow3d Dec 9, 2012
testnet.c Fixed build files for new debian testing build system Jan 25, 2017
testnet.sh Little error in start script Aug 14, 2013
testnet_terminal_client.c Fixed build files for new debian testing build system Jan 25, 2017
testnet_terminal_client.sh Added two examples for sparrowNet without the need of sparrow3d itself Sep 27, 2013
testnet_terminal_server.c Added two examples for sparrowNet without the need of sparrow3d itself Sep 27, 2013
testnet_terminal_server.sh Added two examples for sparrowNet without the need of sparrow3d itself Sep 27, 2013
testreal3d.c real3d was to dark Nov 26, 2013
testreal3d.sh Added a stereoscopic example Mar 12, 2013
testsimple.c A new, very simple example Jun 22, 2015
testsimple.sh A new, very simple example Jun 22, 2015
testsparrow.c Pandora button switches between fullscreen and windowed mode Apr 30, 2015
testsparrow.dev New files for windows Feb 15, 2013
testsparrow.sh The next days I will TRY to improve the accuracy of the triangle (and… Nov 24, 2012
testsparrow_debug.sh - textures, but still slow... dam it Jul 26, 2011
update-tag-list.sh Added the functionality to read languages from file, too Jun 24, 2012
Über ToDo Mar 1, 2012

README.md

Sparrow3D

  1. About Sparrow3D
  2. Licence
  3. Documentation
  4. Compiling Sparrow3D
  5. Author

1. About Sparrow3D

Sparrow3D is an application framework with software renderer especially for open handhelds. The goal is to just write an application once and to compile it e.g. for:

  • GP2X F100 / F200
  • GP2X WIZ
  • GP2X Caanoo
  • Dingux
  • Pandora
  • GCW Zero
  • PC (Linux / Windows) (mainly for testing...)

That are the systems, which are supported at the moment or which hopefully will be supported in the near future. :) To see, what is possible with this engine take a look at

  • Puzzletube
  • Snowman
  • Schwerkaft

2. Licence

Not much to say: Just (L)GPL. If you want another Licence (e.g. some kind of BSD licence) feel free to contact me. ;-)


3. Documentation

You can find the documentation here and furthermore some first steps and examples in the github wiki.


4. Compiling Sparrow3D

For compiling for PC just type
make
Thats all. Their is no possibility to install or such a thing ^^
For handhelds type
make targets
to get the targets and
make TARGET=target
to compile for the target "target". Every target has a .mk file in the folder targets. Change the paths in these files to your paths. Keep in mind, this engine and the games using this engines are mode for (hopefully) open handhelds! Their is no need to install anything... If you want to test the testsparrow-application on your handheld / PC use the ./testsparrow.sh file. If the file doesn't work on your system or you just don't want to use it, keep sure, that the application finds the libsparrow3d.whatever (e.g. .so on linux system or .dll on windows machines)

Here is a list of compile-switches used throughout sparrow (use with -D...):

BUILDING_DLL

  • Windows only, changes dllimport to dllexport, if you are running into errors during linking, compile with this define

CORE_DEBUG

  • Print out verbose debug text

UNSAFE_MAGIC

  • could crash, uses possibly memory (just reading) Try always to have some border pixels to your textures if using!

BLACK_MAGIC

  • Uses fancy lookup table magic to improve speed, but may look worse. Just try.

FAST_MULTIPLICATION

  • looks good at small resolutions

FAST_DIVISION

  • looks good at small resolutions

SDL_INCLUDE_SUBDIR

  • Changes the include path for every SDL.h file to SDL/SDL.h

Target platforms (defines, use with -D...):

GP2X

  • Second and third generation of GPH devices, use with one of the following switches: F100, WIZ

CAANOO

  • GPH Caanoo

DINGUX

  • Dingoo with dingux Linux

GCW

  • GCW Zero

PANDORA

  • Pandora

5. Author

Alexander Matthes aka Ziz

I think you read, that I am not an Englisch native speaker. So ignore the bad grammar or give me corrections. I always try to get better. :)