Recent

Author Topic: Black Shark Graphics Engine  (Read 5962 times)

BlackShark

  • New Member
  • *
  • Posts: 13
Black Shark Graphics Engine
« on: May 18, 2019, 08:22:16 am »
Hello!

I am hurry to share my first official release!
 
Black Shark Graphics Engine is a simple 2D and 3D engine written in Pascal for developers to produce applications utilising hardware-accelerated graphics. It supports Lazarus (versions >= 2.0) and Delphi (Community Edition 10.3, another versions haven't been tested).

More information on my site: bshark.org

Best regards,
BlackShark
« Last Edit: May 18, 2019, 09:24:20 am by BlackShark »

BlackShark

  • New Member
  • *
  • Posts: 13
Re: Black Shark Graphics Engine
« Reply #1 on: May 28, 2019, 10:13:04 am »
New minor version 1.01:
- found and removed a bug in build of a path;
- edited test of KD-tree - it was reduced 2d level displayed objects, otherwise they intersect scrollbars;
- gallery was updated.

Best regards,
BlackShark

nouzi

  • Full Member
  • ***
  • Posts: 200
Re: Black Shark Graphics Engine
« Reply #2 on: May 28, 2019, 02:24:07 pm »
BlackShark  nice job
i test this library 

It works but it is a small problem
Example :
When you test a fish or globe scene and go to another scene and go back the graphic disappears
« Last Edit: May 28, 2019, 02:38:28 pm by nouzi »
my english is  bad
Lazarus 2.0.6 free pascal 3.0.4
Lazarus trunk  free pascal trunk 
System : linux mint 19.3 64bit  windows 7 64bit

nouzi

  • Full Member
  • ***
  • Posts: 200
Re: Black Shark Graphics Engine
« Reply #3 on: May 28, 2019, 02:42:53 pm »

I think it's a leak in  memory
my english is  bad
Lazarus 2.0.6 free pascal 3.0.4
Lazarus trunk  free pascal trunk 
System : linux mint 19.3 64bit  windows 7 64bit

BlackShark

  • New Member
  • *
  • Posts: 13
Re: Black Shark Graphics Engine
« Reply #4 on: May 28, 2019, 03:02:03 pm »
BlackShark  nice job
i test this library 

It works but it is a small problem
Example :
When you test a fish or globe scene and go to another scene and go back the graphic disappears

Thank you!

I have found out: some tests with a canvas rotate a frustum for its testing, but when you return back to 3d-test, the frustum remains rotated. If you will insert
Code: Pascal  [Select][+][-]
  1. Scene.Frustum.Angle := vec3(0.0, 0.0, 0.0);
when the test is creating you get the same image what you saw in begining.
I will think about the problem.
« Last Edit: May 28, 2019, 03:05:35 pm by BlackShark »

nouzi

  • Full Member
  • ***
  • Posts: 200
Re: Black Shark Graphics Engine
« Reply #5 on: May 28, 2019, 03:29:52 pm »
I think it's a leak in  memory
start application                                                Memory ~ 73.972
after change screen  to test  mesh                   Memory ~ 74.308
after back to screen  to test  Eath  mesh          Memory ~ 73.492
after back to screen  to test  mesh                   Memory ~ 73.516
after back to screen  to test  Eath  mesh          Memory ~ 73.648
after change screen  to test  mesh                   Memory ~ 74.696
after back to screen  to test  Eath  mesh          Memory ~ 73.676

   test         | Eath  mesh  |   mesh   
--------------------------------------------
                  |   73.972       | 74.308
                  |   73.492       | 73.516
                  |   73.648       | 74.696
                  |   73.676       |

                             
                                                             
                                                             
                                                             
                                                                         



my english is  bad
Lazarus 2.0.6 free pascal 3.0.4
Lazarus trunk  free pascal trunk 
System : linux mint 19.3 64bit  windows 7 64bit

BlackShark

  • New Member
  • *
  • Posts: 13
Re: Black Shark Graphics Engine
« Reply #6 on: May 28, 2019, 08:43:28 pm »
I think it's a leak in  memory
start application                                                Memory ~ 73.972
after change screen  to test  mesh                   Memory ~ 74.308
after back to screen  to test  Eath  mesh          Memory ~ 73.492
after back to screen  to test  mesh                   Memory ~ 73.516
after back to screen  to test  Eath  mesh          Memory ~ 73.648
after change screen  to test  mesh                   Memory ~ 74.696
after back to screen  to test  Eath  mesh          Memory ~ 73.676

   test         | Eath  mesh  |   mesh   
--------------------------------------------
                  |   73.972       | 74.308
                  |   73.492       | 73.516
                  |   73.648       | 74.696
                  |   73.676       |

There are not leaks: memory is swimming slightly, but on 4-5 iteration of select of the tests remains on the same level. Furthermore, in Delphi I always use ReportMemoryLeaksOnShutdown := true and there memory leaks are not shown. Any way, thank you very much for testing.

I improved a little more:
- was improved mechanism releasing of textures - texture-singleton is released if it is not used already;
- 3d tests were changed - it added reset of the frustum orientation;
« Last Edit: June 01, 2019, 10:05:32 am by BlackShark »

BlackShark

  • New Member
  • *
  • Posts: 13
Re: Black Shark Graphics Engine
« Reply #7 on: July 02, 2019, 03:21:31 pm »
Hello!

I am glad to announce new version 1.02 of my engine (bshark.org):
  • a viewer of schemes has been released;
  • some gui-components have been improved;
  • a mechanism of storage and recovery states of GUI (with RTTI) has been accomplished;
  • a test of the viewer of schemes has been added (bs.test.scheme.pas);
  • the gallery has been updated.

The version while hasn't tested on Linux.

Best regards,
BlackShark

Akira1364

  • Hero Member
  • *****
  • Posts: 543
Re: Black Shark Graphics Engine
« Reply #8 on: July 02, 2019, 05:22:10 pm »
Nice! Always great to see more libraries in this category for Pascal, especially ones as fully featured as yours.
« Last Edit: July 02, 2019, 05:27:42 pm by Akira1364 »

BlackShark

  • New Member
  • *
  • Posts: 13
Re: Black Shark Graphics Engine
« Reply #9 on: July 02, 2019, 08:25:58 pm »
Nice! Always great to see more libraries in this category for Pascal, especially ones as fully featured as yours.
Thank you for kind words! I hope it will be useful for someone.

devEric69

  • Hero Member
  • *****
  • Posts: 516
Re: Black Shark Graphics Engine
« Reply #10 on: July 03, 2019, 11:02:47 am »
Quote
Thank you for kind words! I hope it will be useful for someone.

Most likely for 3D losers, like me. Thank you very much :) .
use: Linux 64 bits (Ubuntu 20.04 LTS).
Lazarus version: 2.0.4 (svn revision: 62502M) compiled with fpc 3.0.4 - fpDebug \ Dwarf3.

BlackShark

  • New Member
  • *
  • Posts: 13
Black Shark Graphics Engine
« Reply #11 on: May 03, 2021, 04:14:10 pm »
I am glad to announce new version 2.0 of my engine bshark.org:
  • license agreement was changed from custom on free LGPL;
  • a support of hardware multisampling was added;
  • FMX viewport support was added, I ran it only, while is not tested widely yet;
  • the canvas (TBCanvas) and its objects:
    • a new common mechanism of scale;
    • options of align: anchors, margins, paddings, and patterns of align (TObjectAlign) were implemented;
    • TFreeShape - a free shape builder with closed counters (see gallery);
    • TFog - a simple rectangle background with a custom shader;
    • TCanvasLayout - invisible and is not utilizing GPU resources rectangle object;
    • TPath - added drag-drop for reference points;
    • TrapezeRound;
    • TMultiColoredShape;
    • TColorSelector;
    • TBiColoredSolidLines;
    • TBlackSharkPen was removed;
  • new controls:
    • TBEdit;
    • TBSpinEdit;
    • TObjectInspector;
    • TBForm;
    • TBColorDialog;
    • TBColorBox;
    • TBTrackBar;
    • TBGroupBox;
    • TBCheckBox;
    • TBTable;
    • TBComboBox;
  • quality fonts rasterisation was a few improved;
  • RTTI format translated from binary to xml for possibility compare differencies by VCS;
  • KD-Tree was implemented with TBlackSharkKDTree;
  • refactoring of the TBScene:
    • rendering was taken out to bs.renderer;
    • translated to KD-tree;
  • refactoring controls: TBScrolledWindow, TBScrollBar, TBButton;
  • added a new class THashTable to bs.collection;
  • context initialization:
    • translated to a shared context;
    • smart initialization - without eglChooseConfig by selection of attributes from desirable to supported;
  • management of fonts, textures and shaders was translated to global mode, now they are have common manadgers for all contexts;
  • new project for autotests (AutoTests.dpr);
  • new methods in TBlackSharkViewPort for support of autotests (beginning from "Test");
  • updated libEGL and libGLESv2 libraries for Windows;
  • an option hardware multisampling was placed to BSConfig.Multisampling;
  • now by default only one thread is run for animations and events (the same global GuiThread) (see bs.thread.CreateThreads); you can change it in any time;
  • lot of bugs were fixed in space bs.scheme.

Best regards,
BlackShark
« Last Edit: May 03, 2021, 08:04:11 pm by BlackShark »

Delphi100

  • Newbie
  • Posts: 4
Re: Black Shark Graphics Engine
« Reply #12 on: May 06, 2021, 04:34:12 am »
Great Works!
Can you increase the anti-aliasing function of the image? :)
like C# GDI+:
 graphics.SmoothingMode = SmoothingMode.AntiAlias;

BlackShark

  • New Member
  • *
  • Posts: 13
Re: Black Shark Graphics Engine
« Reply #13 on: May 10, 2021, 10:03:26 am »
Great Works!
Thanks!
Can you increase the anti-aliasing function of the image? :)
like C# GDI+:
 graphics.SmoothingMode = SmoothingMode.AntiAlias;
I have concentrated the settings in the class bs.config.BSConfig and will continue to expand them there. Now unfortunately there is only one options of smoothing. I will try to improve smoothing modes, for example add the number of samples for supersampling. I also want to add to the settings other methods of full screen antialiasing that I previously implemented on shaders.
« Last Edit: May 10, 2021, 10:09:45 am by BlackShark »

Akira1364

  • Hero Member
  • *****
  • Posts: 543
Re: Black Shark Graphics Engine
« Reply #14 on: May 15, 2021, 08:47:04 pm »
Your website seems to be offline, currently.

 

TinyPortal © 2005-2018