[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-kimageshop
Subject:    Re: Future of Shiva, lack of future of OpenGTL
From:       Cyrille Berger Skott <cberger () cberger ! net>
Date:       2013-11-30 13:19:17
Message-ID: 7074589.iusb1OlTtL () pixie
[Download RAW message or body]

[Attachment #2 (multipart/alternative)]


On Saturday 30 November 2013 12:46:38 Lukast dev wrote:
> > The main reason for abandoning OpenGTL is that it relies on llvm and 
that
> > still requires quiet a high maintenance on the library as new version of
> > llvm appear, and there are many incompatibilities (like with mesa open
> > source driver). Also, now the CTL color spaces are gone, so Shiva was 
the
> > remaining useful bit.
> 
> Does this mean also end for OpenRijn?

Yes, well it never really was finished. And openrijn does not make any 
sense without being "interpreted", so without llvm, it is sort of pointless. 
And I think using javascript (using something like V8) would fit the intended 
purpose of openrijn quiet well, and be performing fast enough.

> > === On the third day, Shiva came back
> 
> Did you consider to use GMIC? http://gmic.sourceforge.net/
> I integrated it into Krita recently.

Yes, I did.

> It provides:
> o CPU backend
Actually, as far as I can see it is an interpreter. So while it technically run 
on the CPU, it is quiet different from being compiled to the CPU, at least, in 
term of speed.
And the existence of a roadmap to running on GPU as 
OpenCL/RenderScript is a requirement. And from looking at the code, it 
might be difficult to separate the parser from the interpreter, requiring to 
start from scratch, and I don't personally want to do that because of the 
next point:

> o language for writing filters (limited high-level language)
I will admit that it is very subjective, but to me, as a potential developer, 
the actual syntax of a programming language is really important, and that 
is where gmic fails: <troll>Closer to brainfuck than anything I would want 
to code with myself :)</troll>. So as a "user" of gmic, it probably does not 
matter.

> o syntax for describing filters
Actually lacking an important bit, which is to know which part of the image 
is affected for each change. Which makes it impossible to use in a 
processing graph, unless you reprocess the whole image. Which is I guess 
why you didn't integrate gmic as a KisFilter but as an extension plugin ?

> o there are already many filters available

That is indeed the biggest and greatest point of gmic. And that is also 
maybe why, Shiva for Krita might not be important until Krita can benefit 
from OpenCL (and Shiva has a converter for it).

-- 
Cyrille Berger Skott

[Attachment #5 (unknown)]

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" \
"http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" \
content="1" /><style type="text/css"> p, li { white-space: pre-wrap; }
</style></head><body style=" font-family:'DejaVu Sans Mono'; font-size:9pt; \
font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; \
margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; \
-qt-user-state:0;">On Saturday 30 November 2013 12:46:38 Lukast dev wrote:</p> <p \
style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; \
-qt-block-indent:0; text-indent:0px; -qt-user-state:0;">&gt; &gt; The main reason for \
abandoning OpenGTL is that it relies on llvm and that</p> <p style=" margin-top:0px; \
margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; \
text-indent:0px; -qt-user-state:0;">&gt; &gt; still requires quiet a high maintenance \
on the library as new version of</p> <p style=" margin-top:0px; margin-bottom:0px; \
margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; \
-qt-user-state:0;">&gt; &gt; llvm appear, and there are many incompatibilities (like \
with mesa open</p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; \
margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;">&gt; &gt; \
source driver). Also, now the CTL color spaces are gone, so Shiva was the</p> <p \
style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; \
-qt-block-indent:0; text-indent:0px; -qt-user-state:0;">&gt; &gt; remaining useful \
bit.</p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; \
margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;">&gt; </p> \
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; \
-qt-block-indent:0; text-indent:0px; -qt-user-state:0;">&gt; Does this mean also end \
for OpenRijn?</p> <p style="-qt-paragraph-type:empty; margin-top:0px; \
margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; \
text-indent:0px; ">&nbsp;</p> <p style=" margin-top:0px; margin-bottom:0px; \
margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; \
-qt-user-state:0;">Yes, well it never really was finished. And openrijn does not make \
any sense without being &quot;interpreted&quot;, so without llvm, it is sort of \
pointless. And I think using javascript (using something like V8) would fit the \
intended purpose of openrijn quiet well, and be performing fast enough.</p> <p \
style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; \
margin-right:0px; -qt-block-indent:0; text-indent:0px; ">&nbsp;</p> <p style=" \
margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; \
-qt-block-indent:0; text-indent:0px; -qt-user-state:0;">&gt; &gt; === On the third \
day, Shiva came back</p> <p style=" margin-top:0px; margin-bottom:0px; \
margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; \
-qt-user-state:0;">&gt; </p> <p style=" margin-top:0px; margin-bottom:0px; \
margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; \
-qt-user-state:0;">&gt; Did you consider to use GMIC? \
http://gmic.sourceforge.net/</p> <p style=" margin-top:0px; margin-bottom:0px; \
margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; \
-qt-user-state:0;">&gt; I integrated it into Krita recently.</p> <p \
style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; \
margin-right:0px; -qt-block-indent:0; text-indent:0px; ">&nbsp;</p> <p style=" \
margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; \
-qt-block-indent:0; text-indent:0px; -qt-user-state:0;">Yes, I did.</p> <p \
style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; \
margin-right:0px; -qt-block-indent:0; text-indent:0px; ">&nbsp;</p> <p style=" \
margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; \
-qt-block-indent:0; text-indent:0px; -qt-user-state:0;">&gt; It provides:</p> <p \
style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; \
-qt-block-indent:0; text-indent:0px; -qt-user-state:0;">&gt; o CPU backend</p> <p \
style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; \
-qt-block-indent:0; text-indent:0px; -qt-user-state:0;">Actually, as far as I can see \
it is an interpreter. So while it technically run on the CPU, it is quiet different \
from being compiled to the CPU, at least, in term of speed.</p> <p style=" \
margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; \
-qt-block-indent:0; text-indent:0px; -qt-user-state:0;">And the existence of a \
roadmap to running on GPU as OpenCL/RenderScript is a requirement. And from looking \
at the code, it might be difficult to separate the parser from the interpreter, \
requiring to start from scratch, and I don't personally want to do that because of \
the next point:</p> <p style="-qt-paragraph-type:empty; margin-top:0px; \
margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; \
text-indent:0px; ">&nbsp;</p> <p style=" margin-top:0px; margin-bottom:0px; \
margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; \
-qt-user-state:0;">&gt; o language for writing filters (limited high-level \
language)</p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; \
margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;">I will \
admit that it is very subjective, but to me, as a potential developer, the actual \
syntax of a programming language is really important, and that is where gmic fails: \
&lt;troll&gt;Closer to brainfuck than anything I would want to code with myself \
:)&lt;/troll&gt;. So as a &quot;user&quot; of gmic, it probably does not matter.</p> \
<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; \
margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; ">&nbsp;</p> \
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; \
-qt-block-indent:0; text-indent:0px; -qt-user-state:0;">&gt; o syntax for describing \
filters</p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; \
margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;">Actually \
lacking an important bit, which is to know which part of the image is affected for \
each change. Which makes it impossible to use in a processing graph, unless you \
reprocess the whole image. Which is I guess why you didn't integrate gmic as a \
KisFilter but as an extension plugin ?</p> <p style="-qt-paragraph-type:empty; \
margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; \
-qt-block-indent:0; text-indent:0px; ">&nbsp;</p> <p style=" margin-top:0px; \
margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; \
text-indent:0px; -qt-user-state:0;">&gt; o there are already many filters \
available</p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; \
margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; ">&nbsp;</p> \
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; \
-qt-block-indent:0; text-indent:0px; -qt-user-state:0;">That is indeed the biggest \
and greatest point of gmic. And that is also maybe why, Shiva for Krita might not be \
important until Krita can benefit from OpenCL (and Shiva has a converter for it).</p> \
<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; \
margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; ">&nbsp;</p> \
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; \
-qt-block-indent:0; text-indent:0px; -qt-user-state:0;">-- </p> <p style=" \
margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; \
-qt-block-indent:0; text-indent:0px; -qt-user-state:0;">Cyrille Berger \
Skott</p></body></html>



_______________________________________________
Krita mailing list
kimageshop@kde.org
https://mail.kde.org/mailman/listinfo/kimageshop


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic