Notifications
Clear all

[Closed] VFB+ : Including Source Code

 lo1

Version 1.13 Change Log

New Features:

  • Option to store history images on hard drive instead of on RAM, reducing the memory footprint of the application. This is now the default store method.
  • Across the board memory optimization (on average 50% less memory used, for both history storing modes!)
  • Load/Save curves presets. File format is fully compatible with all Adobe products!
  • Option to change temporary save folder, optionally receive notification if it’s getting too big.
  • Option to hide split A/B line (requested by StealthX).

Bug Fixes:

  • Original VFB would show underneath VFB+, causing flicker when resizing the window.
  • Split A/B line width could sometimes be 2 pixels wide instead of 1 (reported by StealthX).
  • Exposure and Curves ‘Local’ button would sometimes not work properly (reported by Moulder6).
  • Render time label would show wrong result if render went past midnight (reported by Moulder6).
  • Shift+TAB would not work properly in the Exposure spinners.
  • Exposure spinner would show artifacts on some machines.
  • Zoom using mouse wheel would stop working when display control did not have focus (reported by Moulder6).
  • Always on Top’ option would keep the VFB on top even if 3dsmax was not the active application (reported by Moulder6).
  • Pressing ‘escape’ at some points could raise an exception.
    Many other cosmetic fixes.

Thanks to all the great people who contributed feature requests and bug reports!

download link:
http://www.scriptspot.com/3ds-max/scripts/vfb-a-feature-rich-extension-to-the-3dsmax-frame-buffer

source code in this thread has been updated.

hey lo, just a quick one. had a brief look over your C# source and you have the exposure parameters around the wrong way in the Math.Pow function.
you have:

Math.Pow(targetCC.exposure, 2f)

should be:

Math.Pow(2f, targetCC.exposure)

ie. 2 to the power of exposure rather than the other way around.

 lo1

thanks, will fix asap

Hi,

You have done Really great work. must have taken your lots of time to make it work and bring it on this stage. I also have done a similar approach to Maya frame buffer window.(see link in my signature) but I did it through maxscript only and that’s why I was not able to take full control of the frame buffer completely. but I like your approach. can you please tell me more about the programming process? is the .NET done within max or have used VB or any other IDE?

Thanks

1 Reply
 lo1
(@lo1)
Joined: 11 months ago

Posts: 0

Thank you for your response.
The main part of the code is written in C# and precompiled into a dll. The source code can be downloaded from the first post in this thread.
I am not actually changing the bitmap of the VFB, as I have not found any access (not even in the SDK) to that module. Instead I am displaying a borderless dotnet form on top of the VFB and preventing drawing in the original VFB.

i’ve played with VFB+ … My first expression is “I like It”
but i have suggestions/advices…

#1.
I like the idea of Bitmap correction. It works fast, clean… But I want to see the same parameter ranges and tweaking behavior as I got used working PhotoShop.
#2.
Usually the VFB screen is too small for me and I don’t want to loose another space for extra things on the screen. I prefer to have all your color correction UI out of screen (tear-off dialog)
#3.
I like Right-Click UI extension for extra functionality. For example button A|B with RC can toggle the separation line visibility.
#4.
I like to see VFB+ color correction features for opened bitmaps (not just for last renders). That might be very helpful during RTT process for example.

1 Reply
 lo1
(@lo1)
Joined: 11 months ago

Posts: 0

Thank you for your feedback, Denis!
I am not surprised you like it, probably half the tricks I use in it I learned from you
Allow me to respond to your feedback point by point:

#1.
Could you give specific examples? The curve control is 100% compatible with the adobe curves format. Gravey suggested I add a Levels control, which I’ve added to the todo list.

#2.
One of the things I dislike about the 3dsmax UI is that you always end up with a whole lot of floaters, and you keep having to move stuff out of the way, which is why I chose to have it right on the VFB. Nevertheless, it couldn’t hurt to have it as an option, so I will add it to the list of features to implement.

#3.
Great idea, will implement soon!

#4.
This is something I’ve explored and my problem with supporting RTT is that it uses a local value for the generated bitmap (search for “curBM” in RTT source code) and I don’t have an easy way of retrieving the displayed bitmap. The two options I can think of:
a) patch the RTT source code and make the curBM value global (kind of intrusive and will only solve the problem of RTT, not other displayed bitmaps).
b) get the bitmap by copying the bitmap displayed on screen using win32 functions (will not work if zoom is not 1:1)

Do you have a better idea maybe?

Just checked it out, very cool stuff :D. I don’t know why Autodesk didn’t make this already… but same goes with alot of things. Great job dude!

1 Reply
 lo1
(@lo1)
Joined: 11 months ago

Posts: 0

Thanks, man! I appreciate it.

I just release a new update:

Version 1.2 Change Log

New Features:

  • New split A|B mode – Opacity: shows both images, drag to change image B opacity (requested by Tzahi Keshet)
  • For all split A/B modes : shift+click inside the image sets the image to temporarily show 100% image B (requested by Daniel Wichterich)
  • Additional memory optimizations

Bug Fixes:

  • Various dotnet crashes relating to hard disk mode (reported by Moulder6)
  • Exposure formula was not correct (reported by Gravey)
 lo1

Version 1.3 Change Log

New Features:

  • Grab Viewport – Easily grab the viewport at the render resolution and framing, optionally with alpha. (Requested by Moulder6. Special thanks to Denis Trofimov and Josef Wienerroither (spacefrog) for helping with the implementation.
  • Drag+Render – Ctrl+Shift inside the image to quickly render a region on the fly. (Requested by Moulder6)

Modified Features:

  • Left clicking the split A|B button now toggle the split on or off. Right clicking on the button alternates the split mode. (Requested by Moulder6)

Bug Fixes:

  • Color swatch could return wrong color after opacity split mode was used.
  • Image B would sometimes be displayed in wrong scale in split mode.
  • Using extended viewports when region rendering was active could result in an exception.

Great work,I like It.Thanks
a possibility to compare twice Rendered (current render and last render) as a whole,or compare forth Rendered as a whole,
I think It will be very useful.
Like picture:

 lo1

Thank you for your suggestion. I will add it to the list of requests

 lo1

Version 1.4 Change Log

New Features:

  • Film Strip – see all your rendered images at once. Left click to set A image. Right click to set B image.
  • Paste from Clipboard – Ctrl+Click on clipboard button to paste the contents of the clipboard to the frame. (Requested by RGhost)
  • Direct Feedback – Send feedback from inside 3dsmax
  • Auto-Updater – Check for updates at user defined intervals (disabled by default, I personally don’t like software connecting to the internet without my explicit permission.)
  • Two-way link between VFB/VFB+ zoom and scrolling values (requested by JonadB)
  • Zoom now correctly pivoted around mouse pointer, as in original VFB. (Requested by Moulder6)
  • Hotkeys: Left/Right arrow to navigate image A. Ctrl+Left/Right arrow to navigate image B.
  • Hotkey Screen: Sort of a mini-help screen which shows hotkeys and extended functionality information.

Changed Features:

  • Drag-Render – When rendering using Ctrl+Shift+Drag, the render mode now remains in ‘region’ mode afterwards. (Requested by Moulder6 & Jonadb)
  • Grab viewport with alpha is now not defined in preferences dialog, but simply by Ctrl+Clicking the Grab Viewport button.
  • ‘Discard Current Image’ and ‘Clear History’ have been merged into a single button. Click to discard current image, Ctrl+Click to clear history.

Bug Fixes:

  • Reset curves button did not work until A/B split mode was active
  • Grabbing viewport when the viewport was big and the render resolution was very small would result in only selected objects being shown in viewport grab (Reported by Tzahi Keshet)
  • Deleting an image when A/B split mode was active would result in a “Missing Image” message on screen.
  • Resulting ‘grab viewport’ bitmap size was inaccurate by a few pixels
  • While rendering when ‘VFB Always on Top’ was enabled, the VFB would sometimes still be the topmost window even if max was not the active application (Reported by Moulder6)
  • Region would always be shown for the active viewport, even if the render was locked to a different view. (Reported by Moulder6)
  • Having more than one instance of 3dsmax open could cause images from one instance of 3dsmax to be displayed in the other. (Reported by Tzahi Keshet)

I haven’t updated the source code in this thread yet, but will try to do so tomorrow.

Page 2 / 3