Recent

Author Topic: Graphic Library  (Read 97743 times)

leocda

  • Jr. Member
  • **
  • Posts: 60
  • Computer Graphics researcher
    • Picture to People
Re: Graphic Library
« Reply #15 on: November 24, 2009, 08:58:06 pm »
I was looking around ...

Do you use TLazIntfImage to draw?

No. I use only my own algorithms. All my algorithms use only my own types and classes.

michaelp

  • Newbie
  • Posts: 5
Re: Graphic Library
« Reply #16 on: December 09, 2009, 11:25:48 pm »
If you don't use its features, why do you use Lazarus?  :-\

Don't get me wrong about this question. I just wanna know about your choices and what helped you to get there.

Leledumbo

  • Hero Member
  • *****
  • Posts: 8836
  • Programming + Glam Metal + Tae Kwon Do = Me
Re: Graphic Library
« Reply #17 on: December 10, 2009, 09:34:56 am »
He doesn't really use Lazarus, but FreePascal.

I believe he has this on his mind: "The good thing about reinventing the wheel is that you can get a round one" (taken from Nimrod's documentation)

leocda

  • Jr. Member
  • **
  • Posts: 60
  • Computer Graphics researcher
    • Picture to People
Re: Graphic Library
« Reply #18 on: December 29, 2009, 01:29:05 pm »
If you don't use its features, why do you use Lazarus?  :-\

Don't get me wrong about this question. I just wanna know about your choices and what helped you to get there.

I make everything from scratch for many reasons. Some of them are explained here: http://www.picturetopeople.org/dev/background.html.

I started programming about Computer Graphics many years ago.
After 4 years developing in C++, I decided two things should be great to increase my development speed:
1) a stronger typed language (when you deal with many thousands lines of hard algorithms, the compiler must be your friend, or your development will be very slow because of bugs);
2) a RAD style IDE to make interfaces and test software.

I found both of them with Delphi (which I have used since version 1 at my regular work). I made a lot of tests and, for my libraries that time, Borland Object Pascal was just kind of 10% slower than C++ (when used right).

For several years I have improved my libraries already ported to Object Pascal, first with Delphi 3 and after with Delphi 5.

Delphi 5 was perfect for me. It had everything I needed. I decided to port my libraries to Free Pascal because it was my way to support free software. I think when people see a huge, complex, time/processing intensive software made in a language, they give more respect to such language.

I use Lazarus as a good IDE for Free Pascal. I also use it to make test software in graphical environments.

michaelp

  • Newbie
  • Posts: 5
Re: Graphic Library
« Reply #19 on: January 06, 2010, 04:42:46 am »
I think I didn't understand right.

If you use only your own classes, how do you show your graphics in screen?

marcov

  • Administrator
  • Hero Member
  • *
  • Posts: 12857
  • FPC developer.
Re: Graphic Library
« Reply #20 on: January 06, 2010, 11:18:22 am »
I use Delphi (and FPC too, a bit) on the job for image analysis of vision systems, but that is typical a much lower level kind of operations (mostly looking for simple transitions in grayscale or color, and then start calculating with that data).

I often benchmarked our unittests with FPC, and in general the difference, if any at all, is negiable.

I also don't use TLazIntfImage or TBitmap, but a simple wrapper around an array of byte. (we nearly exclusively use 8-bit grayscale images).
Since our images are typically large (2M to 5Mpx is a typical range at rates of 2 camera's x  5-8 /s), cache effects are a main source of problems (most operations must finish in under 10 ms).

An example of such code:

http://stackoverflow.com/questions/848025/rotating-bitmaps-in-code


michaelp

  • Newbie
  • Posts: 5
Re: Graphic Library
« Reply #21 on: January 14, 2010, 12:21:05 pm »
Do you show your images in screen? How?

marcov

  • Administrator
  • Hero Member
  • *
  • Posts: 12857
  • FPC developer.
Re: Graphic Library
« Reply #22 on: January 14, 2010, 01:40:38 pm »
Do you show your images in screen? How?

I used to use an ownmade class around tpanel and tbitmap and stretchdraw and simple (1,2,4,8 and reciprokals) zooming.

Nowadays its OpenGL based.

Wodzu

  • Full Member
  • ***
  • Posts: 171
Re: Graphic Library
« Reply #23 on: January 18, 2010, 02:37:31 pm »
You simply rock!   :)

marcov

  • Administrator
  • Hero Member
  • *
  • Posts: 12857
  • FPC developer.
Re: Graphic Library
« Reply #24 on: January 18, 2010, 02:49:25 pm »
Note that the showing of the bitmap 1:1 didn't get that much faster with opengl. Only zooming became faster, and continuous, also the zoom factor can now vary in X and Y direction. Moreover, redraws of the same image (e.g. when manually zooming or panning) is nearly free with opengl

The real reason to go OpenGL is that we showed a TMetaFile on top of the bitmap, which had bad behaviour when a lot of items were to be drawn.

The opengl solution is much more constant in time there.

leocda

  • Jr. Member
  • **
  • Posts: 60
  • Computer Graphics researcher
    • Picture to People
Re: Graphic Library
« Reply #25 on: February 01, 2010, 10:10:27 pm »
I think I didn't understand right.

If you use only your own classes, how do you show your graphics in screen?

My libraries have no dependencies.

I have a piece of software to convert from my working data to different (dependent) formats. It's not part of my libraries and must be written with the target devices or file formats in mind.

I have a converter that is fast enough to use in my production environment.

In a environment/device where just a hard (slow) convertion is possible, it can be a problem to make highly interactive redrawing (high fps).

leocda

  • Jr. Member
  • **
  • Posts: 60
  • Computer Graphics researcher
    • Picture to People
Re: Graphic Library
« Reply #26 on: March 07, 2010, 10:47:12 pm »
Now Picture to People project has possibly the most powerful free text generator ever.

There are more than 140 high quality, ready to use, text effects. Many of these texts are very realistic and can not be made easily (few clicks) even using the most expensive desktop graphic programs.

You can see a catalog with all choices here: http://www.picturetopeople.org/text_generator/text_generator_catalog.html

leocda

  • Jr. Member
  • **
  • Posts: 60
  • Computer Graphics researcher
    • Picture to People
Re: Graphic Library
« Reply #27 on: June 03, 2010, 11:16:59 am »
A hard effort has been made to develop a library totally focused on drawing lights to be used in Picture to People project.

This new library should be generic and configurable enough to open possibilities concerning new effects and drawing capabilities.

There is a long development to do yet, but results are coming.

I have already released an effect to tranform photos in light drawings: http://www.picturetopeople.org/photo_light.html

Here I show some examples about light sources I can already draw: http://picturetopeople.blogspot.com/

leocda

  • Jr. Member
  • **
  • Posts: 60
  • Computer Graphics researcher
    • Picture to People
Re: Graphic Library
« Reply #28 on: July 26, 2010, 06:22:30 pm »
Now Picture to People project has a tool to draw images or even photos using text.

This feature is designed to keep the original image information as much as possible.

If you want, you can use it here: www.picturetopeople.org/typographic_photo/typographic_photo.html

leocda

  • Jr. Member
  • **
  • Posts: 60
  • Computer Graphics researcher
    • Picture to People
Re: Graphic Library
« Reply #29 on: September 08, 2010, 01:38:27 am »
Now Picture to People has a tool to draw "true" 3D texts. The effects you get using this renderer are really created using three-dimensional modeling and rendering algorithms and not 2D tricks.

It has been a long time since I began developing 3D graphic softwares, but never to myself. Now I started creating 3D libraries for Picture to People project.

Of course, you know how a 3D text looks like, but, anyway, here I show two examples about the results you can get: http://picturetopeople.blogspot.com

I have been developing complex Computer Graphics tools from scratch for a long period in my spare time. I'm really very exhausted. I need some time to rest.

 

TinyPortal © 2005-2018