--------------------------------------------------------------- IBFV - Flow modeling and visualization tool April 2002 Jarke J. van Wijk Technische Universiteit Eindhoven --------------------------------------------------------------- 1. Introduction In the article 'Image Based Flow Visualization' we describe a new method to visualize fluid flow fields. We have implemented this method in a demo program, ibfv.exe, which can be found on the DVD. In short, ibfv.exe allows you to model and visualize flow in many ways, running at 50 Hz on a modern PC. In the following we describe features, limitations, and give answers to some obvious questions. For an in depth description of the method itself, see the article. 2. Requirements We have run ibfv.exe on several computers, ranging from a PII 350 MHz with nVidia TNT graphics (yes! My machine at home) to a PIII 866 MHz with nVidia GeForce2Go graphics. Operating systems were Windows'98 and Windows'2000, we expect no special problems on other Windows versions. A reasonably fast graphics card is required. The program is based on OpenGL1.1, but this is standard already present. 3. Limitations IBFV was primarily developed as a research and demo tool. Hence, a lot of practical features are missing, such as: - loading/saving settings from/to file; - reading external flow fields; - on-line help; - exhaustive testing on illegal values; - Undo. 4. Features On the other hand, because IBFV was primarily developed as a research and demo tool, a lot of options are implemented, and many aspects can be tuned and set individually. We do not give an exhaustive list of each button and field. Most of them should be understandable and straightforward, given the description of the method in the article. Note that most units are percentages or tenths of pixels. For instance, a scale of 25 in the Texture tab-page means that each pixel in the noise pattern is scaled to 2.5 pixel. A speed of 10 here means that for each frame a new background pattern is used, with a speed of 5 each background pattern is used for two frames, etc. 4.1 Main window In general, ibfv lets you do two things: a) define a flow field; b) visualize the flow field. The buttons with icons below the image area let you edit the flow field. Flow elements can be inserted, moved, and deleted. By pressing the left-mouse button elements can be selected and dragged, details can be set via the tab-page 'Flow'. The alpha used for blending can also be set from the main window. A low alpha gives a smooth visualization (only little new imagery is blended in), high values give a more vivid and contrast rich result. When alpha is set to 100, only the background texture pattern is visible. For a quick change between visualization styles, use one of the preset buttons in the lower-right corner. Detailed options can be found on the tab-pages. The flow tab-page for flow modeling options, the other tab-pages for visualization options. 4.2 Flow In the tab-page 'Flow' you can adjust the properties of the flow elements. A global, uniform flow field can be set with the Vx and Vy parameters. Each different type of flow element is just a different setting of the properties. Flow elements move if the box in between the Faster/Slower/Left/Right buttons is checked. The 'Apply to all' option for the flow and velocity of flow-elements is quite handy. However, when a new element is added it can have some unexpected effects when used, for instance all moving elements suddenly freeze. 4.3 Texture The Texture tab-page has two panels. With the top panel, properties of the inserted noise can be modified. Scale is the most important one. Color and opacity overlays, both dependent on the velocity, can be set in the bottom panel. If the 'Color' checkbox is marked, usually already a good result is achieved. 4.4 Objects The Objects tab-page controls vectors/particles (top) and boundary time lines (bottom). Note that vectors and particles are generated with the same procedure, only different parameters are used. Colors can be changed by clicking on the rectangles after a 'Color' label. Note that a velocity color overlay can influence the colors. For the boundary, the second color is used when the 'Cycle' option is enabled. 4.5 Images The Image tab-page lets you play around with imagery. By default a simple grid image is used, but you can insert your own image as well. The following constraints apply: - use a Windows 24 bit color .bmp image; - high res imagery (>= 256 x 256) is slow; - smear (constant insertion) is slower than warp. As example images, two images of the ACM SIGGRAPH 2002 logo can be found in sg2002_256.bmp and sg2002_128.bmp. If the transparency option is checked, the color of a corner pixel is taken as the background (transparent) color. With the 'Save image' option, the current image can be saved to file or to the clipboard. 4.6 Process Various options of the core IBFV process can be set from the Process tab-page. Delta t denotes the time step, Disp. max the maximal displacement. If the latter value is smaller than the scale of the texture, artifacts show up. The Timing panel concerns the handling and generation of update pulses, i.e. the number of frames generated per clock pulse and the interval between clock pulses. If the tool blocks after a few images, try the following: - Start the tool; - Do NOT click away the splash-screen; - Select the process tab-page; - lower #frames/tick (to 1); - click on the splash-screen and let the animation run for, say 10 seconds; - increase #frames/tick again. If you have a real fast machine, you can try to increase #frames/tick or decrease ms/tick to see if you can achieve higher frame rates. 5 FAQ - What language was used? IBFV was developed using Delphi 5.0, and written in ObjectPascal. - Do you know that potential flow is highly limited? Yes. We used a potential flow model only because it lets you define a flow field in a simple and predictable way, that can be evaluated fast. Flow simulation is not our business, flow visualization is. - Can I get the source code? No. For various reasons. One of them is that the current state of the source carries all scars of a hurried development. - When will there be a Unix/Linux/Mac version? Not in the near future. - When will the missing features be filled in? Not in the near future. - When will there be a version that can load arbitrary fields? We are working on that, but not at full speed. We have a version that makes a step in this direction, but this is very far from general application. - Can I distribute this program further? No. Copyright of this version of the program has been transferred to ACM. - The animation blocks after a few seconds, although the FPS counter still changes. See the remark in section 4.6 . - There is a strange bug, that causes ... If the answer cannot be found in this text or in the description in the article, the author can be contacted. Anyhow & again, this was primarily a research undertaking, not meant as a polished end-user tool. 6 Legal (attempt to) TU/e is not responsible for anything related to the installation and use of ibfv.exe. Specifically, we do not claim that it generates exciting animations that will make you happy. We are not responsible for time wasted or any physical or mental damage because of playing with the tool. We do not claim that the animations have anything to do with anything in the real world. Etc. Etc. All rights are reserved. 7 Finally Finally, we hope you enjoy the program and the underlying technique. Don't look for too long at the moving textures, when you look around afterwards the world seems to consist of moving textures as well.