Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Small Prototype 2D Engine using Qt, OpenGL and Box2D
C++
branch: master

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.
Box2D added jelly like spring force demo
data
games added another simple test demo
.gitignore initial release 0.1
Makefile added another simple test demo
Prototype2D.pro fixed project error
Prototype2D.pro.user added another simple test demo
README initial release 0.1
actor.cpp added another simple test demo
actor.h added another simple test demo
actorjoint.cpp initial release 0.1
actorjoint.h initial release 0.1
canvas.cpp added simple gl tail clone prototype
canvas.h
defines.h added simple gl tail clone prototype
env.h initial release 0.1
gamemanager.cpp initial release 0.1
gamemanager.h initial release 0.1
igame.h
main.cpp
mainwindow.cpp initial release 0.1
mainwindow.h initial release 0.1
mainwindow.ui initial release 0.1
moc_canvas.cpp added another simple test demo
moc_force.cpp added another simple test demo
moc_igame.cpp
moc_mainwindow.cpp added another simple test demo
moc_startupdlg.cpp added another simple test demo
moc_tail.cpp added another simple test demo
moc_world.cpp added another simple test demo
startupdlg.cpp initial release 0.1
startupdlg.h initial release 0.1
startupdlg.ui initial release 0.1
texture.cpp added texture animation example + a bunch of textures
texture.h initial release 0.1
texturemanager.cpp initial release 0.1
texturemanager.h initial release 0.1
types.h initial release 0.1
ui_mainwindow.h added another simple test demo
ui_startupdlg.h added another simple test demo
utils.h initial release 0.1
world.cpp initial release 0.1
world.h

README

Prototype2D
Copyright (c) 2009, Mihail Szabolcs

Prototype2D is a small 2D engine built on the top of QT, OpenGL
and Box2D hacked together in a *few* days (not more than two weeks); 
mostly after work, so don't expect too much; as the name says it's a 
Prototype! :).

There aren't any good examples of this trio at the moment,
especially when it comes to Box2D with real 'textures'/'sprites'
and C++.

I'm not going to spend more time on developing this(at least
for now) but I learned a great deal of things while experimenting
and making all these work together (it's a hell of an ugly and
tendius job to make Box2D work as you want ...; but next time
it will be a hell lot easier ... LOL).

I tried to separate stuff as much as possible, so it's quite
'modular' and it can be easily extended. (e.g wrapping other
Box2D features)

If you find it useful, or you do something useful with it drop
me a line and I'll link back to your production.

Features:
	(using the p0w3r of QT as much as POSSIBLE)
	
	Texture class and Singleton Manager
		- textures are reference counted
	Actor class
		- wraps tons of Box2D boiler plate code
			- easy support for custom Box2D shapes
		- support for tiled animations
		- transparency ( blending )
		- etc ...
	ActorJoint class
		- wraps tons of the Box2D boiler plate code
		- custom wrapper for the b2RevoluteJoint
	World Class
		- wraps tons of Box2D boiler plate code
		- built-in actor drag-drop
		- actor management
			- sorting by z-order
			- generating unique names
			- finding actors by name
			- etc.
		- joint management
			- adding/removing joints
		- QT signal for collision detection
		- etc.
	Environment class
		- shares data across all the modules
	Game Manager class	
		- support for multiple built-in 'demos'
	Startup Dialog	
		- custom resolution / fullscreen
		- drop-down with all the registered 'demos' in
		  the Game Manager
	Canvas class
		- customized QGLWidget
		- anti-aliasing (multi-sampling) support (enabled by default)
		- debug draw for physics bodies
		- different render paths (all rendering goes through one pipe)
			- textured
			- textured with blending
			- wireframe
			- imediate mode / vertex arrays (enabled by default)
			- etc.
	Window class
		- show / hide (track) mouse
		- capture keyboard input
		- resizeable window
		- etc.
	Other
		- custom types (vector, point, etc)
		- screen to world converter macro
		- world to screen converter macro
		- etc.
		
It should work/run and compile fine on all three platforms:
Linux (hey it's me!), Windows and MacOSX (possibly Open Solaris).
		
Credits:
	Graphics -- Lost Garden (http://lostgarden.com/)

Web:
	http://www.szabster.net/tag/prototype2d/

Release Notes:

Jul 19, 2009 - v0.1 released (initial release)
Something went wrong with that request. Please try again.