dsyleixa123
Posts: 392
Joined: Mon Jun 11, 2018 11:22 am

Stretch: how to install latest openVG version with Dot() function?

Sun Jul 08, 2018 7:48 pm

hello,
on my Jessie there was installed a openVG version with the Dot() function - I tried to reinstall openVG now on Stretch but the Dot() function is missing.
IIRC there were also functions initShapes and finishShapes, now I have the older init and finish.
I installed by git clone git://github.com/paeryn/openvg (not from ajstarks because Dot() was added by paeryn IIUC)
and followed the instructions given on https://github.com/paeryn/openvg/
I also exchanged the makefile entry
-lGLESv2 -lEGL
to
-lbrcmGLESv2 -lbrcmEGL
Nevertheless I seem to have an old version now.

Which is the correct way to install the most updated openVG version for Stretch?

User avatar
Paeryn
Posts: 2657
Joined: Wed Nov 23, 2011 1:10 am
Location: Sheffield, England

Re: Stretch: how to install latest openVG version with Dot() function?

Sun Jul 08, 2018 9:24 pm

dsyleixa123 wrote:
Sun Jul 08, 2018 7:48 pm
hello,
on my Jessie there was installed a openVG version with the Dot() function - I tried to reinstall openVG now on Stretch but the Dot() function is missing.
IIRC there were also functions initShapes and finishShapes, now I have the older init and finish.
I installed by git clone git://github.com/paeryn/openvg (not fom ajstarks because Dot() was added by paeryn IIUC)
and followed the instructions given on https://github.com/paeryn/openvg/
I also exchanged the makefile entry
-lGLESv2 -lEGL
to
-lbrcmGLESv2 -lbrcmEGL
Nevertheless I seem to have an old version now.

Which is the correct way to install the most updated openVG version for Stretch?
The latest version of the helper library is the screenshot branch, if you don't switch to a specific branch then you end up with the initial version which doesn't have a lot of the features I added.

From within the main directory of the library you need to checkout the version you want, to get the screenshot version :-

Code: Select all

git checkout screenshot
The Dot() function was added somewhere around the windowsave branch (not any of the V1.x branches) though there are issues with the dot routine, the rough and smooth versions were the wrong way around at one point and then there were problems with the smooth dot not working (OpenVG decided it wasn't going to draw the arcs with a unit diameter even when the arcs were being scaled up), never got to the bottom of that.

There was extra stuff added for dealing with multiple windows, off-screen surfaces, saving areas as images (raw, png & jpeg) and a cursor image (though it's position has to be updated manually). A lot of these haven't had much (if any) documentation written (I will get around to it eventually) and their usage might seem strange at times (especially the functions that use different coordinate systems depending on which window they affect).
She who travels light — forgot something.

dsyleixa123
Posts: 392
Joined: Mon Jun 11, 2018 11:22 am

Re: Stretch: how to install latest openVG version with Dot() function?

Mon Jul 09, 2018 7:18 am

hello Paeryn,
thank you for your reply! I did so and entered "git checkout screenshot" in a Terminal but then all I get is an error - what do I miss?

Code: Select all

pi@PiStr:~ $ cd openvg
pi@PiStr:~/openvg $ git checkout screenshot
error: Ihre lokalen Änderungen in den folgenden Dateien würden beim Auschecken
überschrieben werden:
	DejaVuSans.inc
	DejaVuSansMono.inc
	DejaVuSerif.inc
	Makefile
	client/Makefile
Bitte committen oder stashen Sie Ihre Änderungen, bevor Sie Branches
wechseln.
Abbruch
pi@PiStr:~/openvg $ 

tvjon
Posts: 710
Joined: Mon Jan 07, 2013 9:11 am

Re: Stretch: how to install latest openVG version with Dot() function?

Mon Jul 09, 2018 11:23 am

It may be simpler fror you to download the zip file from:

https://github.com/paeryn/openvg/tree/screenshot

Unzip it to somewhere.

cd somewhere/client

pi@s6:client $ make dot
gcc -MT dot.o -MMD -MP -MF .d/dot.Td -std=gnu99 -Wall -Wextra -Wdouble-promotion -Wshadow -O2 -std=gnu99 -Wall -Wextra -Wdouble-promotion -Wshadow -O2 -I/opt/vc/include -I/opt/vc/include/interface/vmcs_host/linux -I/opt/vc/include/interface/vcos/pthreads -I.. -c dot.c
gcc -std=gnu99 -Wall -Wextra -Wdouble-promotion -Wshadow -O2 -o dot dot.o ../libshapes.o ../oglinit.o ../fontsystem.o -Wl,-rpath=/opt/vc/lib -L/opt/vc/lib -lbrcmEGL -lbrcmGLESv2 -lbcm_host -pthread -ljpeg -lpng -lfreetype -lfontconfig -lz -lm


pi@s6:client $ ./dot
50000 points in 2.000000 seconds (25000 points/s)
^C
pi@s6:client $


which produces
Attachments
dot.jpg
dot.jpg (43.62 KiB) Viewed 9445 times

dsyleixa123
Posts: 392
Joined: Mon Jun 11, 2018 11:22 am

Re: Stretch: how to install latest openVG version with Dot() function?

Mon Jul 09, 2018 12:10 pm

hmm, tbh, that's also not clear at all to me because the exact file paths and commands are uncertain to me.
Have I to uninstall the current version? how then...?
as my home path is home/pi (I do not even know if a slash at first place)...download how to where?... and then... unzip...?.... somewhere to where exactly...? then make...?..must I change the -lGLESv2 -lEGL to -lbrcmGLESv2 -lbrcmEGL things in the lib and clients dir...?
Too many question signs IMO - I think I'll have to wait for a new git update install command by Paeryn which works completely for Stretch including the new Stretch makefiles possibly...

User avatar
Paeryn
Posts: 2657
Joined: Wed Nov 23, 2011 1:10 am
Location: Sheffield, England

Re: Stretch: how to install latest openVG version with Dot() function?

Mon Jul 09, 2018 1:32 pm

dsyleixa123 wrote:
Mon Jul 09, 2018 7:18 am
hello Paeryn,
thank you for your reply! I did so and entered "git checkout screenshot" in a Terminal but then all I get is an error - what do I miss?

Code: Select all

pi@PiStr:~ $ cd openvg
pi@PiStr:~/openvg $ git checkout screenshot
error: Ihre lokalen Änderungen in den folgenden Dateien würden beim Auschecken
überschrieben werden:
	DejaVuSans.inc
	DejaVuSansMono.inc
	DejaVuSerif.inc
	Makefile
	client/Makefile
Bitte committen oder stashen Sie Ihre Änderungen, bevor Sie Branches
wechseln.
Abbruch
pi@PiStr:~/openvg $ 
Git is telling you that those files have been modified and that switching branches would loose those modifications. In this case that is acceptable so you need to force git to ignore those local changes.

Code: Select all

git checkout -f screenshot
The Makefiles in the screenshot branch use the updated brcmGLESv2 and brcmEGL library names for Stretch, I think that all the other branches use the old library names so would require editing the Makefiles to add the brcm prefix.
She who travels light — forgot something.

dsyleixa123
Posts: 392
Joined: Mon Jun 11, 2018 11:22 am

Re: Stretch: how to install latest openVG version with Dot() function?

Mon Jul 09, 2018 3:38 pm

ah, ok, thanks!
now it says:

Code: Select all

git checkout -f screenshot
Branch screenshot konfiguriert zum Folgen von Remote-Branch screenshot von origin.
Zu neuem Branch 'screenshot' gewechselt
and now what to do next?

User avatar
Paeryn
Posts: 2657
Joined: Wed Nov 23, 2011 1:10 am
Location: Sheffield, England

Re: Stretch: how to install latest openVG version with Dot() function?

Mon Jul 09, 2018 6:28 pm

dsyleixa123 wrote:
Mon Jul 09, 2018 3:38 pm
ah, ok, thanks!
now it says:

Code: Select all

git checkout -f screenshot
Branch screenshot konfiguriert zum Folgen von Remote-Branch screenshot von origin.
Zu neuem Branch 'screenshot' gewechselt
and now what to do next?
I don't see what the problem is here, git has just told you that it has switched to a new branch called screenshot which is initialised to be a copy of my screenshot branch. Build the library as normal with make (and then sudo make install if you want it installing).
She who travels light — forgot something.

dsyleixa123
Posts: 392
Joined: Mon Jun 11, 2018 11:22 am

Re: Stretch: how to install latest openVG version with Dot() function?

Mon Jul 09, 2018 7:08 pm

Thank you, but I had simply no idea what a checkout actually is and what "switched to xyz branch" meant:
Just a check, and it has been localized and targeted? Now a new download required which now has been (just) targeted? Or was by that checkout already everything downloaded and updated and clean installed, and nothing to do any more, ready to use?
IIUC, probably indeed now a fresh download had happened (although it was done in < 1 sec) and now again the following procedure

Code: Select all

cd openvg
make
sudo make install
cd client
make all
make test
It would be really helpful for beginners if there was an installation guide and a user manual to git branches and these newer releases, because that is very puzzling - or perhaps even a simple sudo apt install openvg 8-)

dsyleixa123
Posts: 392
Joined: Mon Jun 11, 2018 11:22 am

Re: Stretch: how to install latest openVG version with Dot() function?

Mon Jul 09, 2018 7:09 pm

UPDATE:
but with the first make I get an error:

Code: Select all

fontsystem.c:10:35: fatal error: fontconfig/fontconfig.h: Datei oder Verzeichnis nicht gefunden
 #include "fontconfig/fontconfig.h"
                                   ^
compilation terminated.
Makefile:28: die Regel für Ziel „fontsystem.o“ scheiterte
make: *** [fontsystem.o] Fehler 1


User avatar
Paeryn
Posts: 2657
Joined: Wed Nov 23, 2011 1:10 am
Location: Sheffield, England

Re: Stretch: how to install latest openVG version with Dot() function?

Mon Jul 09, 2018 7:56 pm

dsyleixa123 wrote:
Mon Jul 09, 2018 7:09 pm
UPDATE:
but with the first make I get an error:

Code: Select all

fontsystem.c:10:35: fatal error: fontconfig/fontconfig.h: Datei oder Verzeichnis nicht gefunden
 #include "fontconfig/fontconfig.h"
                                   ^
compilation terminated.
Makefile:28: die Regel für Ziel „fontsystem.o“ scheiterte
make: *** [fontsystem.o] Fehler 1

That looks like you haven't installed the fontconfig1-dev package which the library relies on. Have you also installed all the others needed? I think this is all the ones needed (I use libjpeg9-dev now but libjpeg8-dev should work just as well as that was what was used in Jessie).

Code: Select all

sudo apt install libfontconfig1-dev libfreetype6-dev libjpeg9-dev libpng-dev
As to guides to using git branches - there's plenty out there all just a Google away (other search engines available). I've just noticed that the build instructions in the README.md of the screenshot branch refers to checking out the windowsave branch. One reason for not updating the docs for all these branches is that most of them are primarily just landmarks for when I implemented the major extra features rather than finished versions. There won't be packaged versions for use with apt, at least not by me in the foreseeable future.
She who travels light — forgot something.

dsyleixa123
Posts: 392
Joined: Mon Jun 11, 2018 11:22 am

Re: Stretch: how to install latest openVG version with Dot() function?

Mon Jul 09, 2018 8:06 pm

About git branches, I didn't mean in general, but YOUR openvg git branches, how to install exactly, update to the latest, differences, features, deprications, deletions and so on...

Before I have installed everything which was needed for the first installation, according to your github website, and that former one compiled without errors, and those examples worked.
Now after the checkout I have only typed
make
as you had advised me.
Would you please be so kind and give me a complete (!) installation guide, step by step, which can be c+p'ed into a .sh bash script? Obviously the guides given are sort of shaky and puzzling.

UPDATE:
I now tried that
sudo apt install libfontconfig1-dev libfreetype6-dev libjpeg9-dev libpng-dev
and then again
cd openvg
make // no error
make install // no error
cd clients //

make all // >>>>>>>>>>>>>>>>>>>>>>>> Error!

Code: Select all

gcc -MT dot.o -MMD -MP -MF .d/dot.Td -std=gnu99 -Wall -Wextra -Wdouble-promotion -Wshadow -O2 -std=gnu99 -Wall -Wextra -Wdouble-promotion -Wshadow -O2 -I/opt/vc/include -I/opt/vc/include/interface/vmcs_host/linux -I/opt/vc/include/interface/vcos/pthreads -I.. -c dot.c
dot.c: In function ‘drawScene’:
dot.c:34:5: error: too few arguments to function ‘WindowSaveAsPng’
     WindowSaveAsPng("win.png", 0,0, 640, 640, 9);
     ^~~~~~~~~~~~~~~
In file included from dot.c:4:0:
../shapes.h:109:14: note: declared here
  extern bool WindowSaveAsPng(const char *filename, renderobj_t *window, VGuint x, VGuint y, VGuint w, VGuint h, int zlib_level);
              ^~~~~~~~~~~~~~~
Makefile:67: die Regel für Ziel „dot.o“ scheiterte
make: *** [dot.o] Fehler 1

User avatar
Paeryn
Posts: 2657
Joined: Wed Nov 23, 2011 1:10 am
Location: Sheffield, England

Re: Stretch: how to install latest openVG version with Dot() function?

Mon Jul 09, 2018 9:01 pm

The branches just got named according to the main feature I was implementing at the time, they weren't meant to be branches where anything was definite (functions changed even between branches). The idea of the V1.x branches were that they would be the ones for people to use that didn't want in-development versions, the next intended version would be V2 which gets rid of the depricated functions but I was waiting to finish implementing and bug fixing everything that was planned. That is still waiting to be done, things got put on hold for personal reasons and I haven't had the energy to sit down and work on it since.

The depricated functions are mainly the ones where the capitalisation of the name is inconsistent with the majority of the functions, in all of these there is an identical function with the name spelt consistently, e.g. setfill() is marked depricated but there is SetFill() to replace it. I think there are only three cases where the name changes,
  • init() becomes InitShapes()
  • finish() becomes FinishShapes()
  • BackgroundRGB() becomes BackgroundRGBA()
The latter was due to there being a fourth (Alpha) parameter passed but the function name suggests there are only three (R, G & B).
At the moment you just get a compiler warning the first time you use a depricated function (you can easily update your code to use the new names to avoid it), in the next release those depricated functions will be removed. No functionality will be lost, just name changes.
She who travels light — forgot something.

dsyleixa123
Posts: 392
Joined: Mon Jun 11, 2018 11:22 am

Re: Stretch: how to install latest openVG version with Dot() function?

Tue Jul 10, 2018 6:50 am

thank you, Paerin, for your explanation, that really makes it more clear now. If one comes to your github site then he unfortunately won't know all this, all he'll see are the old features and explanations to the original libs by ajstarks, but nothing about new features and installation instruction like e.g. this
sudo apt install libfontconfig1-dev libfreetype6-dev libjpeg9-dev libpng-dev
which you mentioned above, and also nothing is mentioned at all about the start version of your branch, and no one can detect anything about checkout anywhere.
So it will be really important and indispensible that you publish this also to your start site of your openvg repo, just like you did here in your post above.

But back to the current issues: I still can't do the make command in the client subdir, how to fix that?

Code: Select all

cd clients
make all
## snip ##
gcc -MT dot.o -MMD -MP -MF .d/dot.Td -std=gnu99 -Wall -Wextra -Wdouble-promotion -Wshadow -O2 -std=gnu99 -Wall -Wextra -Wdouble-promotion -Wshadow -O2 -I/opt/vc/include -I/opt/vc/include/interface/vmcs_host/linux -I/opt/vc/include/interface/vcos/pthreads -I.. -c dot.c
dot.c: In function ‘drawScene’:
dot.c:34:5: error: too few arguments to function ‘WindowSaveAsPng’
     WindowSaveAsPng("win.png", 0,0, 640, 640, 9);
     ^~~~~~~~~~~~~~~
In file included from dot.c:4:0:
../shapes.h:109:14: note: declared here
  extern bool WindowSaveAsPng(const char *filename, renderobj_t *window, VGuint x, VGuint y, VGuint w, VGuint h, int zlib_level);
              ^~~~~~~~~~~~~~~
Makefile:67: die Regel für Ziel „dot.o“ scheiterte
make: *** [dot.o] Fehler 1
Edit:
I also get a new error in ajstark's demo program

Code: Select all

// first OpenVG program
// Anthony Starks (ajstarks@gmail.com)
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include "VG/openvg.h"   
#include "VG/vgu.h"
#include "fontinfo.h"
#include "shapes.h"

int main() {
    int width, height;
    char s[3];

    width=480; height=320;
    InitShapes(&width, &height);                  // init() Graphics initialization

    Start(width, height);                   // Start the picture
    Background(0, 0, 0);                    // Black background
    
    Fill(44, 77, 232, 1);                   // Big blue marble
    Circle(width / 2, 0, width);            // The "world"
    Fill(255, 255, 255, 1);                 // White text
    TextMid(width / 2, height / 2, "hello, world", SerifTypeface, width / 10);  // Greetings
    End();                                  // End the picture

    fgets(s, 2, stdin);                     // look at the pic, end with [RETURN]
    FinishShapes();                               // finish() Graphics cleanup
    exit(0);
}
g++ -Wall -pthread -I/opt/vc/include -lshapes -c "hellovg.c" -lwiringPi (im Verzeichnis: /home/pi/raspiProgs/graphprogs)
In file included from hellovg.c:7:0:
/usr/include/shapes.h:9:22: fatal error: eglstate.h: Datei oder Verzeichnis nicht gefunden
#include "eglstate.h"

^
compilation terminated.
Kompilierung fehlgeschlagen.
Last edited by dsyleixa123 on Tue Jul 10, 2018 8:56 am, edited 2 times in total.

Janice357
Posts: 5
Joined: Wed Jun 27, 2018 11:46 am

Re: Stretch: how to install latest openVG version with Dot() function?

Tue Jul 10, 2018 8:32 am

On browsers, the Canvas rendering is controlled by the browser run time this is referred in the WC docs as the update the rendering step.

On node-canvas, user code explicitly calls toBuffer or similar functions to produce output. Note that this behavior can be reproduced on node-openvg-canvas by calling ImageData.saveToBuffer and/or Canvas.toBuffer.

Code running on node-openvg-canvas must explicitly swap display buffers, to do so, either call Canvas.vgSwapBuffers() or use the included request Animation Frame shim that does this after calling your paint callback function for more information look at the clock examples.

dsyleixa123
Posts: 392
Joined: Mon Jun 11, 2018 11:22 am

Re: Stretch: how to install latest openVG version with Dot() function?

Tue Jul 10, 2018 8:41 am

Janice, my question is about the first installation steps as described on Paeryn's github site, and according to them the steps
cd clients
make all
should work, but it don't, perhaps because something is wrong or broken with the Dot() function, and also there is an issue about shapes.h (fatal error: eglstate.h: no such file or directory)
#include "eglstate.h"

(look at the error messages above!).

IMO it's better to let Paeryn answer himself.

macload1
Posts: 14
Joined: Mon Jul 07, 2014 6:50 am

Re: Stretch: how to install latest openVG version with Dot() function?

Tue Jul 10, 2018 12:17 pm

In the Makefile under "install" there is this one missing "install -m 644 -p eglstate.h /usr/include/"

Just copy the missing file into the /usr/include directory and that error will be gone!

P.S.: Sorry, I'm not Paeryn...

dsyleixa123
Posts: 392
Joined: Mon Jun 11, 2018 11:22 am

Re: Stretch: how to install latest openVG version with Dot() function?

Tue Jul 10, 2018 1:04 pm

hi,
thank you!
P.S.: Sorry, I'm not Paeryn...
apologies granted :-D
now after adding the line
install -m 644 -p eglstate.h /usr/include/
under "install" in the Makefile and then anew

Code: Select all

sudo make
sudo make install
it don't show errors any longer about /usr/include/shapes.h and eglstate.h .
(y)

Nonetheless, by
cd client
make all

still the error:

Code: Select all

make all
gcc -MT dot.o -MMD -MP -MF .d/dot.Td -std=gnu99 -Wall -Wextra -Wdouble-promotion -Wshadow -O2 -std=gnu99 -Wall -Wextra -Wdouble-promotion -Wshadow -O2 -I/opt/vc/include -I/opt/vc/include/interface/vmcs_host/linux -I/opt/vc/include/interface/vcos/pthreads -I.. -c dot.c
dot.c: In function ‘drawScene’:
dot.c:34:5: error: too few arguments to function ‘WindowSaveAsPng’
     WindowSaveAsPng("win.png", 0,0, 640, 640, 9);
     ^~~~~~~~~~~~~~~
In file included from dot.c:4:0:
../shapes.h:109:14: note: declared here
  extern bool WindowSaveAsPng(const char *filename, renderobj_t *window, VGuint x, VGuint y, VGuint w, VGuint h, int zlib_level);
              ^~~~~~~~~~~~~~~
Makefile:67: die Regel für Ziel „dot.o“ scheiterte
make: *** [dot.o] Fehler 1
and with my own code including the line

Code: Select all

WindowOpacity(225);              // 90% opacity 
there's also an unexpected new error
remote0204.c:254:23: error: invalid conversion from ‘int’ to ‘renderobj_t*’ [-fpermissive]
remote0204.c:254:23: error: too few arguments to function ‘void WindowOpacity(renderobj_t*, uint32_t)’
Last edited by dsyleixa123 on Tue Jul 10, 2018 2:39 pm, edited 1 time in total.

User avatar
Paeryn
Posts: 2657
Joined: Wed Nov 23, 2011 1:10 am
Location: Sheffield, England

Re: Stretch: how to install latest openVG version with Dot() function?

Tue Jul 10, 2018 2:37 pm

dsyleixa123 wrote:
Tue Jul 10, 2018 1:04 pm
still the error:

Code: Select all

make all
gcc -MT dot.o -MMD -MP -MF .d/dot.Td -std=gnu99 -Wall -Wextra -Wdouble-promotion -Wshadow -O2 -std=gnu99 -Wall -Wextra -Wdouble-promotion -Wshadow -O2 -I/opt/vc/include -I/opt/vc/include/interface/vmcs_host/linux -I/opt/vc/include/interface/vcos/pthreads -I.. -c dot.c
dot.c: In function ‘drawScene’:
dot.c:34:5: error: too few arguments to function ‘WindowSaveAsPng’
     WindowSaveAsPng("win.png", 0,0, 640, 640, 9);
     ^~~~~~~~~~~~~~~
In file included from dot.c:4:0:
../shapes.h:109:14: note: declared here
  extern bool WindowSaveAsPng(const char *filename, renderobj_t *window, VGuint x, VGuint y, VGuint w, VGuint h, int zlib_level);
              ^~~~~~~~~~~~~~~
Makefile:67: die Regel für Ziel „dot.o“ scheiterte
make: *** [dot.o] Fehler 1
and with my own code including the line

Code: Select all

WindowOpacity(225);              // 90% opacity 
there's also an unexpected new error
remote0204.c:254:23: error: invalid conversion from ‘int’ to ‘renderobj_t*’ [-fpermissive]
remote0204.c:254:23: error: too few arguments to function ‘void WindowOpacity(renderobj_t*, uint32_t)’
The dot.c file wasn't updated for the modified WindowSave functions, originally they worked on the main window (there was only one at that time) but the lasest version can have multiple windows and off-screen buffers so functions like WindowSaveAsPng() now take an extra parameter saying which window (or render target) they act on. I'm sure I allow in all cases to pass NULL as the window (the parameter of type renderobj_t*) to mean the currently active one.

The same for WindowOpacity() you now need to use

Code: Select all

WindowOpacity(NULL, 225);
to change the opacity of the current window.

So basically, if you don't use any of the new window / render target functions then for any function that now requires a renderobj_t* parameter you just need to pass NULL as that parameter.
She who travels light — forgot something.

dsyleixa123
Posts: 392
Joined: Mon Jun 11, 2018 11:22 am

Re: Stretch: how to install latest openVG version with Dot() function?

Tue Jul 10, 2018 2:43 pm

hello Paeryn,
thank you!
I added the NULL to WindowsOpacity, and now my programs can be compiled and built again.

But I don't understand what to do with the Dot() errors after
cd client
make all

How can that be fixed (or how and when can you fix it) ?

dsyleixa123
Posts: 392
Joined: Mon Jun 11, 2018 11:22 am

Re: Stretch: how to install latest openVG version with Dot() function?

Wed Jul 11, 2018 7:07 am

will there soon be fixes about the reported isssues (make all, Dot() ) in this screenshot branch, or which branch can I choose which works for Dot() ?

dsyleixa123
Posts: 392
Joined: Mon Jun 11, 2018 11:22 am

Re: Stretch: how to install latest openVG version with Dot() function?

Wed Jul 11, 2018 6:15 pm

no functioning Dot function in any branch?

User avatar
Paeryn
Posts: 2657
Joined: Wed Nov 23, 2011 1:10 am
Location: Sheffield, England

Re: Stretch: how to install latest openVG version with Dot() function?

Wed Jul 11, 2018 7:32 pm

dsyleixa123 wrote:
Wed Jul 11, 2018 6:15 pm
no functioning Dot function in any branch?
Dot() should be working so long as you want rough dots (they are drawn as squares), I don't know what happened with smooth dots as they definitely worked at one time, I'll try and sort it out sometime but I know the last time I went back to try sorting it I spent a couple of days and got nowhere.

Branch windowsave has the dots the wrong way around, branches rendertarget and screenshot are the correct way around, the other branches are from before the Dot() function existed.

Smooth dots are drawn as two arcs to make a circle and for some reason the driver decides to not draw them when the ends are a unit apart even if the scale is set so the circle is actually many pixels across.
She who travels light — forgot something.

dsyleixa123
Posts: 392
Joined: Mon Jun 11, 2018 11:22 am

Re: Stretch: how to install latest openVG version with Dot() function?

Wed Jul 11, 2018 8:01 pm

hi,
if IIUC, I should drop the current windowsave which I have installed and instead use the branch rendertarget or screenshot?
Which is the newer one (or with least issues)?
Actually I always used hard dots, never the smooth ones, because of drawing speed.
After that, just a new git checkout <branch>, or should I instead clean remove everything and fresh install?

User avatar
Paeryn
Posts: 2657
Joined: Wed Nov 23, 2011 1:10 am
Location: Sheffield, England

Re: Stretch: how to install latest openVG version with Dot() function?

Wed Jul 11, 2018 9:02 pm

dsyleixa123 wrote:
Wed Jul 11, 2018 8:01 pm
hi,
if IIUC, I should drop the current windowsave which I have installed and instead use the branch rendertarget or screenshot?
Which is the newer one (or with least issues)?
Actually I always used hard dots, never the smooth ones, because of drawing speed.
After that, just a new git checkout <branch>, or should I instead clean remove everything and fresh install?
windowsave is the first one with Dot() I think, followed by rendertarget which introduced multiple drawing buffers (on-screen windows and off-screen images) and finally screenshot is the latest which expanded on rendertarget's handling and added extra image/window saving to allow saving as jpeg or png.

Ideally the newer ones fix any bugs found in previous ones without introducing new bugs, though the new functions may have bugs of their own. There's no big testing done, most of my tests are in some of the programs in the client directory but they aren't exhaustive and I know somebody who uses the library (some of the additions were done because they wanted the particular functionalities).
She who travels light — forgot something.

Return to “OpenVG”