Jump to content

bigmuscle

Patron
  • Posts

    1,758
  • Joined

  • Days Won

    7
  • Donations

    0.00 USD 
  • Country

    Czech Republic

Everything posted by bigmuscle

  1. Yeah, got it. This theme somehow modifies standard vertices to achieve rounded borders on preview windows. I was expecting the maximum number of vertices to be 22 (classic rectangle window border), but this theme uses 34 vertices. It results in crash, because my vertex buffer was too small to fit all vertices. I should use dynamic buffer instead.
  2. When I have time I will try to install that theme to see what is wrong. Are we talking about this theme http://xxinightxx.deviantart.com/art/Windows-7-Vs-REV-D-350491112 ? I have installed and do not have any problems with it. yes, this is known. Direct3D mode is not finished yet, it requires some more changes.
  3. It is going to be implemented, the function to active this effect still exists in Win8 but I need to study it more. So it will be the priority later ;-)
  4. Because Direct2D is a kind of hack, it is just another layer which renders Direct2D effect into Direct3D render target (= screen). Direct3D method is a reuse of DWM native pixel shaders.
  5. When I have time I will try to install that theme to see what is wrong. Set GlassTransparency to 0, filling window border with color isn't intended for Direct3D implementation because it uses default Windows 8 colorization mechanism. Preview versions are NOT intended to be reliable in any sense. There is a race condition in the loading procedure which will never be fixed in any preview version (simply because it has no sense to fix something what is going to be removed in final version)
  6. AERO GLASS PREVIEW 5 Another experimental preview is here! What's new: * default device feature level is set to 9.1 until correct solution is found * experimental blur behind taskbar (GlassTransparency settings is not applied to it!!!) * added possibility to set own theme resource (requires bitmap with non-premultiplied alpha) * using screen size instead of virtual screen size on some places (does this affect multimonitor configuration???) * decreased interval for setting layered windows to 250 ms * settings moved to HKEY_CURRENT_USER/HKEY_LOCAL_MACHINE: HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\DWM (applied on DWM startup, so dwm.exe restart is needed on change) DisableLogging (DWORD) - 0 = enables, 1 = disables verbose logging into debug.log file (default = 0) DeviceFeatureLevel (DWORD) - Direct3D version which should be used for DWM rendering (default = 0x9100) BypassLayeredWindowsRendering (DWORD) - 0 = enables, 1 = disables alpha blending of layered windows with alpha value of 254 (default = 1) UseDirect2DRendering (DWORD) - 0 = use Direct3D mode, 1 = use Direct2D mode HKEY_CURRENT_USER\Software\Microsoft\Windows\DWM (applied when colorization settings is changed - e.g. in control panel) BlurDeviation (DWORD) - the amount of blur to be applied. Set to 0 to disable blur effect completely (default = 30) GlassTransparency (DWORD) - value of alpha component (0-255) which will be applied to the glass, has no effect on taskbar (default in D3D = 64, in D2D = 175). CustomThemeResource (STRING) - path to PNG file with theme resource (bitmap must have exactly the same layout as msstyle theme you are using!) ColorizationBlurBalanceInactive ColorizationAfterglowInactive ColorizationColorInactive ColorizationAfterglowBalanceInactive ColorizationColorBalanceInactive http://prdownload.berlios.de/glass8/DWMHook05.7z
  7. Yeah, text glow effect is just a part of aero theme resource. The problem is when I simply copy the glow glyph from RP to RTM (and enable new image in my utility), the glow appears but it seems that it ignores its alpha channel. Although image contains alpha channel and shaders and blend states are same as in RP. Will be more work than I thought
  8. Is anybody here who has experience with uxtheme/msstyles? I am trying to implement feature which allows to set theme resource without msstyle patching (including caption glow effect) but I am probably missing something :-)
  9. Because previous builds had direct3d debug flag (http://msdn.microsoft.com/en-us/library/windows/desktop/ff476881(v=vs.85).aspx#Debug) set which probably automatically enabled that compatibility mode. I have not found a proper solution for native feature levels yet but I don't want to publish versions with D3D11_CREATE_DEVICE_DEBUG.
  10. I think that multiple displays can be the cause. Is it somehow possible that you test it with one monitor only?
  11. pengipete: I must admit that I have not figure out the best settings yet. Normally, it is true that BlurBalance + ColorBalance + AfterGlowBalance = 100. But as I recognized in Win8 RP, this is not valid for inactive borders where it is > 100 which is weird. drakenabarion: does it happen for all windows or just when the window is near the screen edge? What is your screen resolution? Do you have one or more displays?
  12. It is probably because, in D3D mode, you need to set also ColorizationColorBalanceInactive and other settings (as Blur/Balance and AfterGlow/Balance). If you don't set color balance, it uses default value of 12%, thus resulting used color will be ColorizationColorInactive * 0.12. Plus when GlassTransparency > 0 then it will be overlaid by the color ARGB (GlassTransparency, 235, 235, 235). Maybe I could state that I know that current setting options are not optimal. GlassTransparency shouldn't be available in D3D mode at all. All current default values comes from Win8 Release Preview which uses a bit different texture for drawing window border - Win8 RTM draws only a thin line, the rest is fully transparent (alpha is zero), Win8 RP draws a thin line plus a bit of a color with alpha of 14 for actives and 77 for inactives (if I remember the values correctly).
  13. What did you do exactly? Do you have any custom theme installed? I have not found any usable way to identify each window (including its current state), so inactive windows are identified by its colour which seems to be hardcoded to RGB 235,235,235. This colour is replaced with that one which you specify in HKEY_USERS\.DEFAULT\Software\Microsoft\Windows\DWM:ColorizationColorInactive as e.g. 0xffff0000 (for red colour) It should work even in Direct2D mode. However remember, that in Direct3D mode, this colour is modified by ColorizationColorBalanceInactive settings.
  14. Ah, right, when colour intensity is set too high then transparency in D3D mode will gone. This is done by the Win8 implementation. You can even notice that setting full intensity changes the registry settings ColorizationBlurBalance to 0xfffffff6 and API function DwmGetColorizationParameters returns 120% in this case. I automatically disable transparency effect when it returns more than 100% else native shaders draws the border in white colour only. Inactive colorization should be working but you must place the settings into HKEY_USERS\.DEFAULT (unlike active colorization which is placed in HKEY_CURRENT_USER), because I have been able to impersonate current user to access HKEY_CURRENT_USER of currently logged user yet.
  15. This settings specifies which set of Direct3D features should be used. For more information you should refer to http://msdn.microsoft.com/en-us/library/windows/desktop/ff476329(v=vs.85).aspx but at this time I can't really say whether it makes some feature/performance difference in DWM when using lower feature level than your graphic card supports. The previous versions used Direct3D debug mode which probably automatically enabled the feature which I need for glass rendering. Although Win8 Desktop Window Manager creates Direct3D 11.0 device, it still uses v10.1 to render windows and borders - but this probably does not happen for some feature levels. I need to study this problem more deeply.
  16. Tusticles: look, I have not solution for you yet. But since you said that the problem stays even after DWM hook shutdown, it means that your computer/GPU has poor performance to handle layered windows correctly. I have implemented a small thing to not blend certain layered windows and I am not going to fix it more, because the layered windows are not the priority. pengipete: it only seems that active borders are opaque, they are still transparent but not much. In Direct3D mode, it uses native DWM shaders which have its own colorization/transparency settings. Therefore I would recommend to set GlassTransparency registry settings to zero or small value else both transparency settings (shader native + GlassTransparency) will be summed up.
  17. you could try also different values - e.g. 0x9100 or 0x9200.
  18. Those modified files are 0.4 (with a few changes) so it does not depend where you use it.
  19. Could you try setting DeviceFeatureLevel to 0x9300 ?
  20. Please, could you test this version http://leteckaposta.cz/327417155 ? I need to verify whether the problem is what I think. P.S. This version just a private debug build with some unfinished stuff so it can freeze on startup. If it happens, just try again ;-)
  21. It works even if I download the file that I published here.
  22. I don't know what the problem is because everything seems to work here correctly. But yes, sometimes it does not work. Either DWM (or maybe Direct3D directly) has some feature that some function (e.g. Draw) hooks are automatically replaced with another version of the function. I don't know why this happens and I have not found any suitable solution yet (except of background thread which hooks the function still around which consumes 100% CPU).
  23. Only when I manage to do it without any additional process. There can also be problem with it. Applications using layered windows may fail when their windows are set as layered before creation. But I think I could handle it.
  24. DWMLoader is still same, its only task is to load DWMHook.dll into memory and then exits. "aero glass successfully loaded!" line has been moved into debug log.
×
×
  • Create New...