On Thu, Jun 13, 2013 at 7:56 AM, Sletta Gunnar <gunnar.sle...@digia.com> wrote:
>
> On Jun 12, 2013, at 9:58 PM, Mark <mark...@gmail.com> wrote:
>
>> Hi Gunnar,
>>
>> I just tried your example out (from the new review link [1]) and
>> you've truly done a amazing job! + you saved my days of fiddling
>> around :)
>> Big pros! It runs well on Qt with OpenGL on Windows. I haven't tried
>> other instances.
>>
>> Again, an awesome job!
>>
>> Will this be added as an example to 5.1.0 or 5.1.1? It's not like it's
>> blocking anything ;)
>
> Targeted at 5.1.1 now, it is by no means a showstopper :)

Hey, psst, have you tried out one of your own pitfalls? ^_-
I bet you didn't, hehehe.

I added 0.5 in my code for the X in the vertical lines and 0.5 for the
Y in horizontal lines.
Then multisampling looks sharp again. However, when doing that and
disabling multisampling again the lines are off by one pixel.. I
haven't looked into that yet why that happens.

Regards,
Mark
>
>>
>> Cheers,
>> Mark
>>
>> [1] https://codereview.qt-project.org/#change,58714
>>
>> On Wed, Jun 12, 2013 at 8:54 AM, Mark <mark...@gmail.com> wrote:
>>> On Wed, Jun 12, 2013 at 8:29 AM, Sletta Gunnar <gunnar.sle...@digia.com> 
>>> wrote:
>>>>>> This graph concept might be a good usecase for a more complex example 
>>>>>> down the line though.. I'll keep it in mind and maybe it will be 
>>>>>> included in Qt in the future :)
>>>>>
>>>>> Oh... that sucks.
>>>>
>>>> I think so too, so I spent some time yesterday evening to put it together:
>>>> https://codereview.qt-project.org/#change,58589
>>>>
>>>> It does the background, grid, line and dropshadow as 4 separate geometry 
>>>> nodes and shows several new sides of the scene graph API.
>>>>
>>>> The line stroking is a bit crude as it doesn't account for the line angle 
>>>> so steep slopes will come out thinner, but it should be a good starting 
>>>> point.
>>>
>>> Oh wow! You're trying to do everything i tried in just a couple of
>>> hours where i would spend several nights and not even get close to
>>> what you just made. Thank you very much for this!
>>>>
>>>> cheers,
>>>> Gunnar
>>>>
>>>>> Well, i guess i'm just gonna have to play with this
>>>>> and see how it turns out. If (assuming i can figure it out) i get it
>>>>> working i will certainly share my code in here or on this list.
>>>>
>>>>>
>>>>>>
>>>>>>> - for the dropshadow, do exactly the same as for the line, except you 
>>>>>>> can use the custom vertex shader to expand it a little bit more and 
>>>>>>> change the opacity to make it a more blurry.
>>>>>> Here i really do wonder if it isn't easier to just make a simple line
>>>>>> component and use QtGraphicalEffects for the shadowing... I guess
>>>>>> experimenting with both will tell which option works best.
>>>>>>
>>>>>>
>>>>>>> - for the gradient under the line, create a trianglestrip and colorize 
>>>>>>> it according based on the y position in the fragment shader.
>>>>>> Yeah, figured it would be something like that. Will do.
>>>>>>>
>>>>>>>>
>>>>>>>> 2. Another way i see is taking the OpenGL direct approach following
>>>>>>>> the "OpenGLunderQML example [1]. I can probably work of that example,
>>>>>>>> but i really try to stay away from doing direct opengl interaction..
>>>>>>>
>>>>>>> Raw OpenGL has its benefits, which is why the example and the feature 
>>>>>>> is there, but I've been thinking that the primary usecase for 
>>>>>>> OpenGLUnderQML is when you have a game/cad app running and QML is just 
>>>>>>> the HUD controls. Using raw opengl for UI elements has the downside 
>>>>>>> that you don't get any inherited clipping, transformation, nor opacity 
>>>>>>> so things might be quite a bit more complicated to manage inside your 
>>>>>>> UI.
>>>>>> Exactly my opinion as well. I try to stay away from raw opengl calls.
>>>>>>>
>>>>>>>>
>>>>>>>> 3. A third possible way that i can think of is by throwing everything
>>>>>>>> out and starting over in a very abstract manner. Making a bunch of
>>>>>>>> small components (in C++) like:
>>>>>>>> (note: this is still for the charting stuff [0])
>>>>>>>> - 1 component to draw the background with a little more power then a
>>>>>>>> Rectangle. However, if i choose this route i might as well use the
>>>>>>>> QtGraphicalEffects for the added power (gradients) since that provides
>>>>>>>> it.
>>>>>>>> - 1 component for drawing a grid on top of the gradient.
>>>>>>>> - 1 component for drawing a line where i probably only provide the
>>>>>>>> data indicating where the line should be. Again i can use
>>>>>>>> QtGraphicalEffects on top of this to add additional shadow. However, i
>>>>>>>> find the default OpenGL line drawing stuff (even with multisampling)
>>>>>>>> of a very very very poor rendering quality. I'm really thinking of
>>>>>>>> using the "vase renderer" for drawing a way sharper line [2] Another
>>>>>>>> note, this might also be very interesting for you to draw way sharper
>>>>>>>> "scene graph fonts" which at the moment still look quite blurry at
>>>>>>>> it's best under desktop environments.
>>>>>>>
>>>>>>> The distancefield fonts are unhinted and this is why they look more 
>>>>>>> blurry than native fonts (at least on windows and potentially linux). 
>>>>>>> You can enable native rendering by sacrificing font scalability:
>>>>>>> http://blog.qt.digia.com/blog/2012/08/08/native-looking-text-in-qml-2/
>>>>>>>
>>>>>>>> - I'm stuck at how to animate the line as more data flows in..
>>>>>>>>
>>>>>>>> I hope you can advice me here in picking an option to go for. It's all
>>>>>>>> quite a bit of work and all likely has the same end result. Right now
>>>>>>>> i'm leaning towards option 3 where i was trying to go for option 1
>>>>>>>> till this very moment.
>>>>>>>>
>>>>>>>>
>>>>>>>> [0] http://i.stack.imgur.com/Zk2RG.png -- i try to make it look as
>>>>>>>> crisp as this one
>>>>>>>
>>>>>>>
>>>>>>>> [1] 
>>>>>>>> https://qt.gitorious.org/qt/qtdeclarative/trees/stable/examples/quick/scenegraph/openglunderqml
>>>>>>>> [2] 
>>>>>>>> http://www.codeproject.com/Articles/226569/Drawing-polylines-by-tessellation
>>>>>>>>
>>>>>>>>
>>>>>>>> On Mon, Jun 10, 2013 at 10:07 AM, Sletta Gunnar 
>>>>>>>> <gunnar.sle...@digia.com> wrote:
>>>>>>>>>
>>>>>>>>> On Jun 8, 2013, at 11:33 PM, Mark <mark...@gmail.com> wrote:
>>>>>>>>>
>>>>>>>>>> Hi,
>>>>>>>>>>
>>>>>>>>>> Back when the graphical effects where first showcased in a blog i was
>>>>>>>>>> already kinda scared that there would be no C++ interface to use them
>>>>>>>>>> from the C++ side. Now i find myself in the position where i want to
>>>>>>>>>> use the DropShadow element from that very same module in custom QML
>>>>>>>>>> Scene Graph module and give a line a shadow.
>>>>>>>>>>
>>>>>>>>>> I kinda - very much - dislike copying the relavant parts of the
>>>>>>>>>> DropShadow code and re-create that in C++..
>>>>>>>>>>
>>>>>>>>>> Is there a way that i can use DropShadow from the C++ side?
>>>>>>>>>
>>>>>>>>> There is no way to do this using pure C++ API. You could construct it 
>>>>>>>>> from c++ using QQmlComponent and set the source property by passing 
>>>>>>>>> it the item that creates the geometry node.
>>>>>>>>>
>>>>>>>>> cheers,
>>>>>>>>> Gunnar
>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> Regards,
>>>>>>>>>> Mark
>>>>>>>>>> _______________________________________________
>>>>>>>>>> Interest mailing list
>>>>>>>>>> Interest@qt-project.org
>>>>>>>>>> http://lists.qt-project.org/mailman/listinfo/interest
>>>>>>>>>
>>>>>>>
>>>>>
>
_______________________________________________
Interest mailing list
Interest@qt-project.org
http://lists.qt-project.org/mailman/listinfo/interest

Reply via email to