Is there any 2D renderer library with complete fixed point support for embedded linux? - linux

I am working on embedded linux, Is there any open source 2D renderer available which can draw on memory, scanline based, complete fixed-point support.
I work in c or cpp programming language.
I know one with which satisfy my all needs that is, Google Skia which google uses in android and chrome, But I found it without documentation, not straight-forward compilable, not straight-forward usable in 3rd party projects.
Regards, Sunny.

Checkout Cairo. I am not sure what you mean by "complete fixed-point support" but other than that it seems to meet your requirements.

Allegro is a games library which includes extensive software rendering, most of which does not rely on floating point. Additionally it has some trig functions and maths functions which work on fixed-point. It has things like sprite-rotation which don't need floating point.

Don't know if it's what you're looking for, but there's libcrtxy
http://libcrtxy.sourceforge.net/

DirectFB.
If you want hardware acceleration , directFB is the most portable way to go.

Related

Use multiple graphical windows in OCaml

OCaml comes with the Graphics module which allows the use of a graphical window.
Is it possible to open two graphical window, and switch between them ?
The Graphics module provides machine-independent tools but in case of a negative answer, perhaps it would also be interesting to have solutions for different window system, such as X11.
I looked through the Graphics module API and I don't see support for multiple windows. I would assume Graphics was intended as something useful but simple enough to be part of the base OCaml release.
For more complex graphics, it makes sense just to provide OCaml bindings to an existing library. If I go to opam.ocaml.org/packages and search for "graphics" I see a few possibilities.
I have done OpenGL coding in OCaml but in fact I had to build some wrappers for OS-native GUI functionality to create the windows. This was many years ago, however.
The Graphics module is quite limited and is more intended as a simple basic library for teaching purposes. A possible replacement for Graphics might be the tsdl package which is a thin wrapper around the SDL C library which should work on most platforms.

Using CGAL on iOS (or... CGAL alternatives for iOS)

I'm working on a computer-graphics related application, mainly designed for iOS devices. Generally, the application concerns 3D sketching & modeling. I'm all set on a graphical engine (based on OpenGL).
Extensive research indicated that CGAL is practically the best solution out there, for some of the tough problems with which I'm dealing. Specifically at this moment I'm looking for a 3D surface mesh generation library, but without a doubt many other geometry-related problems will appear on the way (such as point location, line intersection, etc).
Problem is, that CGAL does not support iOS (as stated in the CGAL site & docs). I tried finding some information as per what are the problems in the interaction between the two, but all I found is a couple of short "I'm-not-exactly-sure-why-but-it-isn't-supposed-to-work" kind of answers.
Ideally, I'm looking for one of the two:
1. Any input about trying to integrate CGAL on iOS (either successfully or not).
2. A decent geometry-related alternative library, iOS compatible, which will provide solution to the types of problems described above (preferably open-sources, but this part is compressible).

CSG library doing volume difference?

http://en.wikipedia.org/wiki/Constructive_solid_geometry
I'm much interested in doing what the first pictures describe on this article, only that I'm only interested in doing it on parallelepipeds (cube-like shapes), so no sphere or tube or circular shapes whatsoever.
There is this library, http://www.cgal.org/ , but it has a lot of features, and I don't know if it does what I'm looking for, and if yes, what parts could I use ?
Do you know any other library that does what I want ?
C/C++ is preferred over C#/java, but I'm open... The goal being to not reinvent the wheel.
If you need only rendering (no mesh generation), look at this.
If you need to generate new mesh:
UnBBoolean/J3DBool (Java)
J3DBool ported to C++, modified for QT, modified for Ogre
Carve (C++) (it is used in Blender, but I was unable to make it work + obsolete documentation)
GTS Library (C++) (maybe too overkill)
Personaly, I picked Ogre version, rewrote to use STL containers (it use fixed size for face count) and slightly optimized.
A list of libraries can be found here

Which platforms can Sing# be used to develop for?

I was just reading about Singularity and one of its development languages, Sing#. Now I want to know which platforms I can develop for with Sing#.
I would image its proprietary to Singularity.
There is also Spec# which Sing# is derived from (from Wikipedia).
I believe Sing# was developed specifically for and only runs under Singularity, unfortunately.
Sing# is a derivative of C# that they made specifically to develop Singularity. I imagine it's just a specialized form for making an OS
http://www.microsoft-watch.com/content/operating_systems/microsofts_other_os.html

Fast Vector rendering library for C or Python

I'm looking for a library like Cairo, just far faster. It has to be a library that works with C or Python. It also would be nice if I could output to PNG, and SVG. I am looking at Qt's arthur, but that's C++, and I'm not a fan.
Any suggestions?
Edit: another precondition is that it has to run under Linux.
Python has aggdraw
I don't know what's fast, but here's a rendering comparison.
Edit: Apparently Xara is supposed to be much faster than Cairo.
Google's Chrome browser and Android platform make use of their Skia vector library.
I heard second-hand that Vladimir Vukicevic has quickly ported Cairo to be able to use Skia. A quick googling seems to confirm it:
http://people.mozilla.com/~vladimir/misc/cairo-skia.patch
Not sure when or if this is mainstream, but I'd anticipate a major speed-up across the board!
OpenGL?
It can do 2D pretty well. :)

Resources