Work at SourceForge, help us to make it a better place! We have an immediate need for a Support Technician in our San Francisco or Denver office.

Close

New framebuffer for Win32!

Alex
2010-05-17
2013-04-25
  • Eibriel
    Eibriel
    2010-05-19

    Hi!!, work only on Windows? or is cross plataform?

    Regards!

     
  • Alex
    Alex
    2010-05-19

    The original framebuffer (in SVN) is split into 2 platform specific parts: Windows and Posix. The windows part uses native Win32 APIs, and the posix one uses XWindows to create the UI.

    I don't care much for the XWindows side of things, so I only improved the Win32 part. The core renderer is still platform independent, but the framebuffer improvements are Windows specific. So if you want a good UI, use the Windows version ;). For batch rendering, it doesn't matter, since you just dump to a file (i.e. in a renderfarm).

    I've plenty more improvements nearly ready for the Win32 framebuffer. (Stay tuned :)).

     
  • Alex
    Alex
    2010-05-19

    New version released: http://github.com/scorpion007/pixie/commit/1bb31d5c59fc6217fec694b23d70b68274fb19d5

    Revised Win32 Frambuffer further and fixed bugs

    New features:
    - Ability to view individual channels (RGBA)
      Hotkeys: C - Color (all of RGB)
               R - Red, G - Green, B - Blue, A - Alpha
    - Press CTRL-{R,G,B} to toggle those channels on or off
      (can view combination of {R,G,B} channels)
    - Pan cursor while dragging.
    - Caption bar reflects the channels being viewed.
    - HOME key centers the image to window while preserving zoom factor.
    - Refactored much code.

    Bug fixes:
    - Fixed crash while closing framebuffer window due to core renderer unloading
      display driver DLL immediately followed by other threads attempting to access
      its code.
      (We now issue an abort request and unload the module when it's safe to do so).

      - Fixed bug in platform-independent part of framebuffer where the Window class
      would be destructed multiple times due to `delete` being called in
    `displayData` function.
    - Fixed parts of drawing code to redraw parts of the window correctly.

    Let me know if you try it.

     
  • Eibriel
    Eibriel
    2010-05-23

    I've added the new code to the SVN Eibriel Branch.
    If you like can Merge the Branch with your Git… Have some improvements respect the trunk…

    Regards!

     
  • Alex
    Alex
    2010-05-23

    I can do this but I recommend you fork my git repo on git, then "git checkout svn_tip" and apply your changes there, since it will be a lot easier going forward to collaborate. Git is really much better than SVN.

     
  • Alex
    Alex
    2010-05-24

    Lots of new stuff for the framebuffer: http://www.renderpixie.com/pixiewiki/Windows_Framebuffer

    Please refresh page so you don't get the cached screenshot.

    Summary:
    Added color picker functionality to framebuffer.

    Holding the right-mouse-button over any pixel sample shows information, along
    with a color swatch about the sample under the cursor in an info window.

    Revised zoom code and added keyboard functionality.

    The zoom feature now zooms (properly) about the point where the mouse is
    (relative to the viewport). Additionally, the zoom rate remains relatively
    constant throughout zooming, so the speed "feels" the same independent of how
    far you're zoomed in or out.

    Several keyboard control were added:
    - Arrow keys pan the view (by a fixed amount).
    - Numpad + and - keys zoom the view according to what the current center is.

    Several related (UI) bugs were fixed.

     
  • Eibriel
    Eibriel
    2010-05-26

    Thanks about add Eibriel branch :)
    I'll maintain the repositories on sync. I've used Git, and Yes is wonderful, but I defend maintain the all the code together in some place, to maintain some order. In projects so complex like this I think that is important.

    I've started a page on Wiki about the understanding of the code. Maybe you could do some *missing word in my brain*
    http://www.renderpixie.com/pixiewiki/Documentation/Source_code_in_deep

    for example I want to help coding, but I don't understand the structure completely. Maybe are other people in my situation…

    Regards!