Git Product home page Git Product logo

Comments (13)

vczh avatar vczh commented on June 25, 2024

I have not looked into that yet. The default engine is Direct2D, and everything is writing to a render target. If Direct2D enable you to blur something that has already been rendered to a render target, then your idea is doable. Do you have any idea?

from gacui.

sekkit avatar sekkit commented on June 25, 2024

How do you achieve crossplatform with D2D? Maybe you should reference NoesisGUI because it supports various render backend as well as Data-binding like WPF.
I think if u implement the UI lib with a set of stable backend APIs then it's possible to be crossplatform with the same codebase.
As for blur, if u get the render buffer and apply blur algorithm onto that bitmap, then it should be done. Shader might be a good way to go.
I don't know the difference between NoesisGUI and GacUI, sorry for that because I am only familiar with limited Game GUIs.

As a developer, I would like to have a slim GUI library which can switch difference themes(2k, xp, win7) in one line of code, also plenty ui effects to choose.

from gacui.

vczh avatar vczh commented on June 25, 2024

@sekkit if you take a look at iGac repo you will find out that I achieve cross platform by writing different renderers and windowing provider for each platform I want to support. But unfortunately the maintainer of iGac are not working so the progress doesn't catch up. I get some idea from WPF actually.

So for the blur feature, I need to solve it for each platform if I want to add it.

GacUI are going to be able to switch between themes by calling one function but it is not done yet. The good news is, all fundamental building blocks are done, I just need to write a recursive function to tell the control tree to switch the theme. The bad news is that, I didn't create those 2k xp and win7 themes. Maybe someday I will do that, or maybe users will create by themselves.

from gacui.

vczh avatar vczh commented on June 25, 2024

@sekkit you can track my progress by reading this file

By the way, for the blur feature, are you really want the native aeroglass in Win7, or just simulating aeroglass?

from gacui.

sekkit avatar sekkit commented on June 25, 2024

OS independent, 就是跨平台的aeroglass

from gacui.

sekkit avatar sekkit commented on June 25, 2024

FlashGet 3可以一键切Xp主题(内置的),很漂亮。
Win的主题除了Win8,10,其它都好看。Win10之后微软的GUI已经没有审美了。
如果没有内置的话,我感觉跟wpf比没啥区别,不同平台做个UI现在已经不是个难事, 哪怕是Electron都有不错的效果。
NeosisGUI,这个也是c++/xaml的,你要不也扩展下游戏领域~~

from gacui.

vczh avatar vczh commented on June 25, 2024

@sekkit 皮肤可以慢慢做,Windows游戏开发的话,Direct2D跟Direct3D10以上都是兼容的,算燃气可以直接用,换个window provider就好了。aeroglass肯定还是尽量寻求操作系统支持,据说Win8之后已经没有这个功能了。

from gacui.

sekkit avatar sekkit commented on June 25, 2024

glass8.eu -- AeroGlass Plugin for Win10
www.mactype.net -- freetype rendering for Windows

本质上就是个Gaussian Blur + 颜色混合吧,我觉得第三方能实现的话,其实就是个方法和效率的问题了。我都用QT实现过,有点卡。但是那个插件不卡。

如果装了Win7,那直接调DwmEnableComposition API好了,我说的是,在任何PC系统上,直接Show出Win7风格的效果~~~

因为本人做业余小项目一定会遇到这些问题,所以就提了下,当然这不是刚需。

image

顺便还可以加个TextShadow效果,这个用qt很容易实现,gac也可以弄一个。

image

image

MacOS like 磨砂效果~~QT弄的,GacUI也可以有。以上都是纯矢量的绘制,如果用位图来做性能应该会好点。

from gacui.

vczh avatar vczh commented on June 25, 2024

你怎么画的,真的是取背景图自己磨砂吗?说来这个算法还是Unity的面试题来着(逃

from gacui.

sekkit avatar sekkit commented on June 25, 2024

Nope. http://doc.qt.io/qt-5/graphicaleffects.html GUI直接有。自己实现的效率不一定好~
以前试过WPF在非Win7上实现磨砂效果,性能很差,这些消耗高的算法应该做在c++层吧

from gacui.

vczh avatar vczh commented on June 25, 2024

得用D3D写shader做,不能直接CPU坐的

from gacui.

vczh avatar vczh commented on June 25, 2024

https://docs.microsoft.com/en-us/archive/msdn-magazine/2014/june/windows-with-c-high-performance-window-layering-using-the-windows-composition-engine 可能有用

from gacui.

roodkcab avatar roodkcab commented on June 25, 2024

maybe should use stackblur / boxblus instead of guassian blur

from gacui.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.