Welcome, Guest. Please login or register. Did you miss your activation email?

Author Topic: Zester Project (Software Development Toolkit)  (Read 11271 times)

0 Members and 1 Guest are viewing this topic.

caracal

  • Newbie
  • *
  • Posts: 19
    • View Profile
Zester Project (Software Development Toolkit)
« on: May 26, 2010, 08:32:26 pm »

Larger screenshot

Zester is a application development framework used for the development of GUI programs (in which case it is known as a widget toolkit), and also used for developing non-GUI programs such as console tools and servers.

Please keep in mind I code in C first then C++ because its easier to write language bindings for C verses C++.

Window Management
Xlib is an X Window System protocol client library in the C programming language. It
contains functions for interacting with an X server. These functions allow programmers to
write programs without knowing the details of the protocol. Few applications use Xlib
directly; rather, they employ other libraries that use Xlib functions to provide widget toolkits
http://www.x.org/wiki/

When integrating SFML with X11 as seen in http://www.sfml-dev.org/tutorials/1.6/graphics-x11.php there are a few things to keep in mind.

1. X11 is a 26 year old code base.
2. Setting a windows attributes before its show is done differently then after it is shown.
3. Setting attributes of a window and performing windowing functions is done differently when there is already a NETWM compliant window manager in place then when there is not.

Once I finish the Basic Window Management Functions I will continue on with Advance Window Management Functions, Input & Event Functions.
 
Basic Window Management Functions
zst_window_create
zst_window_destroy
zst_window_resize
zst_window_move
zst_window_resize_move
zst_window_show
zst_window_hide
zst_window_raise
zst_window_lower
zst_window_restack
zst_window_minimize
zst_window_unminimize
zst_window_maximize
zst_window_unmaximize
zst_window_fullscreen
zst_window_unfullscreen
zst_window_clear
zst_window_iconify
zst_window_deiconify
zst_window_stick
zst_window_unstick
zst_window_set_keep_above
zst_window_set_keep_below
zst_window_set_opacity
zst_window_flush
zst_window_set_min_size
zst_window_set_max_size
zst_window_set_base_size
zst_window_set_title
zst_window_set_skip_pager
zst_window_set_skip_taskbar
zst_window_set_override_redirect

Window Types
Desktop
Dock
Toolbar
Menu
Utility
Splash
Dialog
Normal


Multimedia
Simple and Fast Multimedia Library (SFML) is an object-oriented, cross-platform,
free and open source software multimedia API written in C++ by Laurent Gomila. It is
intended as a more modern alternative to SDL with a greater emphasis on OOP.
http://www.sfml-dev.org/

2D Vector Graphic Library:
Cairo is a 2D graphics library with support for multiple output devices. Currently
supported output targets include the X Window System, Quartz, Win32, image buffers,
PostScript, PDF, and SVG file output. Experimental backends include OpenGL (through
glitz), XCB, BeOS, OS/2, and DirectFB.
http://cairographics.org/

Image Processing Library:
Magick++ is a software suite to create, edit, and compose bitmap images.
It can read, convert and write images in a variety of formats (over 100) including
DPX, EXR, GIF, JPEG, JPEG-2000, PDF, PhotoCD, PNG, Postscript, SVG, and
TIFF. Use ImageMagick to translate, flip, mirror, rotate, scale, shear and transform
images, adjust image colors, apply various special effects, or draw text, lines, polygons,
ellipses and Bézier curves.
http://www.imagemagick.org/Magick++/

3D Graphics Engine:
Horde3D is a small open source 3D rendering engine. It is written in an effort to
create a graphics engine that offers the stunning visual effects expected in next-generation
games while at the same time being as lightweight and conceptually clean as possible.
http://www.horde3d.org/

Web Browser Engine:
Berkelium is a library that provides off-screen browser rendering via Google’s open
source Chromium and takes advantage of Chromium’s multi-process rendering engine,
allowing us to safely isolate browser instances.
http://github.com/sirikata/berkelium

Audio Synthesis:
Nsound is a C++ framework for audio synthesis. It aims to be as powerful as Csound
 but with the programming features of C++. Nsound tries to make the process of
generating complex and interesting sound as easy for the programmer as possible.
http://nsound.sourceforge.net/

2D Physics Library:
Box2D is a 2D rigid body simulation library for games.
http://www.box2d.org/index.html

3D Physics Library:
Bullet is an open source software multi-threaded 3D collision detection, soft body
and rigid body dynamics library (physics engine) for games and visual effects in film.
http://bulletphysics.org

Audio & Video:
OpenCV is a computer vision library originally developed by Intel. It is free for use
under the open source BSD license. The library is cross-platform. It focuses mainly on
real-time image processing. If the library finds Intel's Integrated Performance Primitives
on the system, it will use these commercial optimized routines to accelerate itself.
http://opencv.willowgarage.com/wiki/

Scripting
Lua combines simple procedural syntax with powerful data description constructs based on
associative arrays and extensible semantics. Lua is dynamically typed, runs by interpreting
bytecode for a register-based virtual machine, and has automatic memory management
with incremental garbage collection, making it ideal for configuration, scripting, and rapid
prototyping.
http://www.lua.org/

Tank

  • SFML Team
  • Hero Member
  • *****
  • Posts: 1486
    • View Profile
    • Blog
    • Email
Zester Project (Software Development Toolkit)
« Reply #1 on: May 27, 2010, 05:48:00 pm »
Nice explanation of all single components, but what's Zester in detail? Looks interesting, but more information would be definitely useful to understand what it's all about.

Ashenwraith

  • Sr. Member
  • ****
  • Posts: 270
    • View Profile
Zester Project (Software Development Toolkit)
« Reply #2 on: May 30, 2010, 07:45:06 am »
Cool idea, but it seems bloated with no clear target developer.

caracal

  • Newbie
  • *
  • Posts: 19
    • View Profile
Zester Project (Software Development Toolkit)
« Reply #3 on: June 15, 2010, 04:48:17 pm »
Quote from: "Ashenwraith"
Cool idea, but it seems bloated with no clear target developer.


:D Most of these library's can already be found in most modern GNU/Linux Operating Systems sooo its not as bloated of a project as you might think. And the target developers are... Well everyone here at SFML. Everything I am working on has been requested multiple times here on this forum.

pierreyoda

  • Full Member
  • ***
  • Posts: 186
    • View Profile
    • http://pierreyoda.pagesperso-orange.fr/
Zester Project (Software Development Toolkit)
« Reply #4 on: June 15, 2010, 05:55:11 pm »
Very impressive :shock:

(But I guess it's not portable?)  
Projects:
- Open Rodent's Revenge (rewriting in progress)
- Open Advanced War (paused)

pdusen

  • Newbie
  • *
  • Posts: 30
    • View Profile
Zester Project (Software Development Toolkit)
« Reply #5 on: June 15, 2010, 06:34:12 pm »
Quote from: "pierreyoda"
Very impressive :shock:

(But I guess it's not portable?)  


Isn't it? At a cursory glance, it looks like all of its dependencies are cross-platform.

caracal

  • Newbie
  • *
  • Posts: 19
    • View Profile
Zester Project (Software Development Toolkit)
« Reply #6 on: June 15, 2010, 08:21:53 pm »
Ill have to write a Windows and Mac port of the Windows Management Library but besides that everything else is cross-platform.

e_barroga

  • Jr. Member
  • **
  • Posts: 76
    • View Profile
Zester Project (Software Development Toolkit)
« Reply #7 on: June 16, 2010, 08:54:55 am »
Just curious, why did you use Horde3D?

I think Ogre3D is more powerful and flexible. It is also as open-source as Horde3D (as far as I know).

Ashenwraith

  • Sr. Member
  • ****
  • Posts: 270
    • View Profile
Zester Project (Software Development Toolkit)
« Reply #8 on: June 16, 2010, 11:06:33 am »
Quote from: "e_barroga"
Just curious, why did you use Horde3D?

I think Ogre3D is more powerful and flexible. It is also as open-source as Horde3D (as far as I know).


Yeah, but supposedly Horde 3D can do crowds (which is now common for 3D games) and Ogre3D is still working on crowd support.

caracal

  • Newbie
  • *
  • Posts: 19
    • View Profile
Zester Project (Software Development Toolkit)
« Reply #9 on: June 16, 2010, 05:12:17 pm »
Quote from: "e_barroga"
Just curious, why did you use Horde3D?

I think Ogre3D is more powerful and flexible. It is also as open-source as Horde3D (as far as I know).


I am not a big fan of C++ Templates which Ogre3D make extensive use of.
So basically my decision came down to ease of use.

Ashenwraith

  • Sr. Member
  • ****
  • Posts: 270
    • View Profile
Zester Project (Software Development Toolkit)
« Reply #10 on: June 16, 2010, 10:41:08 pm »
Quote from: "caracal"
Quote from: "e_barroga"
Just curious, why did you use Horde3D?

I think Ogre3D is more powerful and flexible. It is also as open-source as Horde3D (as far as I know).


I am not a big fan of C++ Templates which Ogre3D make extensive use of.
So basically my decision came down to ease of use.


What about just XNA support for SFML?

That would be really useful so you can sell your game on xbox live.

A lot of the other stuff you are making is interesting but it usually takes an army of people to develop assets for a 3D game.

meetlimex

  • Newbie
  • *
  • Posts: 1
    • View Profile
Software Development
« Reply #11 on: January 18, 2011, 05:32:43 am »
Oh! this information is very impressive and great idea.

tntexplosivesltd

  • Full Member
  • ***
  • Posts: 163
    • View Profile
Zester Project (Software Development Toolkit)
« Reply #12 on: January 18, 2011, 08:44:06 am »
Quote from: "Ashenwraith"
Quote from: "caracal"
Quote from: "e_barroga"
Just curious, why did you use Horde3D?

I think Ogre3D is more powerful and flexible. It is also as open-source as Horde3D (as far as I know).


I am not a big fan of C++ Templates which Ogre3D make extensive use of.
So basically my decision came down to ease of use.


What about just XNA support for SFML?

That would be really useful so you can sell your game on xbox live.

A lot of the other stuff you are making is interesting but it usually takes an army of people to develop assets for a 3D game.


XNA support for SFML? Is there such a thing? They are both game/multimedia libraries, aren't they?