Frequently Asked Questions
From K-3D
Common Questions
What is K-3D ?
K-3D is a complete free-as-in-freedom 3D modeling, animation and rendering system. K-3D features a robust plugin architecture and visualization pipeline, designed to scale to the needs of professional artists. K-3D is designed from-the-ground-up to generate motion-picture-quality animation using RenderMan-compliant render engines.
Where do I find K-3D ?
The K-3D home page is located at http://www.k-3d.org. The current version of K-3D is always available from K-3D Downloads.
What platforms are supported by K-3D ?
K-3D is Free Software, making this a tricky question - on one level, the answer is "any platform you like". Volunteers have built K-3D on nearly any platform you can imagine, including Linux, Mac OSX, Windows, BSD Unix, and Solaris. Often, this work takes the form of a one-off "stunt" that doesn't get maintained. In more practical terms, normal day-to-day K-3D development takes place on Linux, Mac OSX, and Windows XP. Beginning with K-3D 0.7 we provide binary installers for Mac OSX and Windows, and source-code for all other platforms. Various Free Software operating system distributions build K-3D from source and provide binary packages for their users. If K-3D isn't available for your platform, we encourage you to either build it from source or contact your operating system distribution to suggest that they include K-3D. K-3D should work on all varieties of Windows after Windows 95, but user and developer feedback is necessary to verify this.
How to use in my language ? (other than english)
See : Native Language Support.
Who wrote K-3D ?
Original author Tim Shead began work on what became K-3D in early 1994, on an Amiga computer. At that time, the program was called Equus-3D, and work was subsequently moved to Win32. The application evolved and was to be a commercial product. During this period the name was changed to K-3D. Finally, in 1999 Tim opted to release K-3D under the free-as-in-freedom GNU General Public Licence, which led to K-3D's slogan: "Seven Degrees of Freedom". The CVS server and web site were hosted on a home machine, until they moved to the SourceForge platform in 2002. K-3D benefits from the contributions of volunteers from around the world and all walks of life.
The name begins with K but it's not a KDE app ?!?
There's been a lot of fuss with this topic. The application's original name was Equus-3D, later changed by Tim to K-3D because the meaning of Equus was lost on too many people, and he was feeling particulary un-creative that day. At that time, Tim was unaware of the existence of the KDE project. As it happens the K in KDE may either stand for 'Kool' or nothing, as you wish! The K in K-3D means nothing. Manuel Bastioni has proposed Kinka, which stands for K-3D Is Not a KDE Application. On his more stubborn days, Tim has been known to blurt out that the KDE project doesn't have a patent on names beginning with K.
Why the "Seven Degrees of Freedom" ?
The "Seven Degrees of Freedom" slogan refers to K-3D's free-as-in-freedom licensing under the GNU General Public License, which adds an extra degree to the six "degrees of freedom" typical of 3D graphics and robotics.
Which are the main features of K-3D ?
- Licensed under the GNU General Public License (GPL).
- Record interactive tutorials and macros.
- Unlimited undos / redos.
- Create and edit documents in multiple realtime OpenGL solid, shaded, texture-mapped views.
- Scripting interface supports K3DScript and Python, with an open API for other scripting languages.
- Model, animate, and interact with animations while they play back for maximum productivity.
- Highly-evolved architecture allows complete extensibility at runtime through third-party plugins.
- Animated geometric procedural effects.
- Powerful control-spline based animation in a uniform interface.
- Uses the Pixar Renderman Interface to render motion-picture-quality images with a wide variety of rendering engines.
- Supports Renderman Subdivision Mesh output.
- Background rendering and batch rendering.
- Written in ANSI C++, and GTK+.
Which rendering engines does K-3D support ?
For rendering, K-3D currently supports output through the Pixar Renderman Interface, a professional industry standard interface between modelers and renderers. The output would typically be sent to one of the several render engines that K-3D supports, including Aqsis and BMRT (note that the latter is no longer available). K-3D could also be used with Pixar's Photorealistic Renderman, or any other Renderman Interface compliant engine. K-3D's modular, flexible architecture should encourage authors to develop links to other rendering engines - POVRay would be a natural first candidate. A plugin module supporting the Yafray engine ships with K-3D.
Since the afore-mentioned render engines are standalone executables, K-3D invokes them by creating Pixar Renderman Interface Bytestream (RIB) files, before handing them off to the renderjob and renderframe processes. This has many benefits, including the ability to continue working with the program while rendering, or to queue multiple rendering jobs, and (future) network rendering.
Is there a K-3D mailing list ?
Yes, the K-3D developer mailing list is located on [[SourceForge]] at http://sourceforge.net/mail/?group_id=11113 and welcomes both contributing developers and users.
How does K-3D compare to Blender?
In a nutshell, Blender has a more complete feature set than K-3D at the moment, while K-3D has the more ambitious, long-term-scalable architecture. It is accepted by many (including the senior Blender coders that we've spoken with) that the Blender sources need a complete redesign and rewrite. On the other hand, the K-3D sources often receive praise for their good design and "everything is a plugin" philosophy. So while K-3D is lacking many important features, we feel that we have an unbeatable foundation upon which to build. Some highlights:
- K-3D's Next Generation User Interface uses GTK2 to provide a graphical user interface that will integrate well with the user's desktop on all platforms. Because everything in K-3D is a plugin, including the user interface, specialized alternative user interfaces can be substituted for the default, if desired.
- While comprehensive undo/redo support is a recent addition to Blender, it has been designed into K-3D from the start. Not only does K-3D support unlimited undo/redo of any user interaction, including scripts, we have recently added hierarchical undo/redo, which allows the artist to jump back-and-forth among multiple "branches" of modifications to their scene.
- Blender has a built-in render engine, and poor support for integrating third-party render engines such as Aqsis. Because everything in K-3D is a plugin, including render engines, lights, and materials, any render engine can be integrated with K-3D as well as any other.
- K-3D is a procedural modeler, meaning that we store the entire history of user modifications that go into creating a model. That means that the user can go back into the "history" of a model and make changes, and seeing how those changes affect subsequent steps in the history. K-3D's Visualization Pipeline does for 3D graphics what tools like GStreamer do for audio - plugins can be combined in unusual and interesting ways to create new effects.
- K-3D has been written from-the-ground-up to support the RenderMan standard, used by professionals to create feature-length computer animation.
Technical Questions
What are the hardware requirements for running K-3D ?
K-3D will run on any computer, but a hardware accelerated OpenGL graphic board is highly recommended.
As a guide here you have a recommended system:
- CPU: 400Mhz
- RAM: 256 MB
- Video: A good OpenGl card
- Hard Disk : About 150mb of disk space should be more than enough. (if you are going to compile it you will need between 0.5-2Gb depending on the options)
Also take in count that most of the K-3D documentation is online. So you will probably need a internet connection. (downloading Video Tutorials could be considered as a workaround)
Which X widget set do you use for the user interface ?
The K-3D user interface is built on top of GTK+, the popular X widget set used by the GIMP and GNOME projects, among many others. By building on top of GTK+, K-3D can be compiled without source changes for both GNU/Linux and Win32.
K-3D starting from version 0.5 uses GTKMM which is a very mature and efficient framework.
What API does K-3D use for displaying 3D graphics ?
K-3D makes extensive use of OpenGL in the user interface. This allows the program to easily benefit from hardware acceleration on the end-user's platform.
K-3D version <= 0.4 connect to the OpenGL API through the SDPGL library, which wraps the OpenGL functions so that they can be traced. When SDPGL_TRACE is defined at build time, all OpenGL calls will be logged to stdout for analysis.
Is K-3D Free Software ?
K-3D is released under the GNU General Public License (GPL). This license is available from the Free Software Foundation, http://www.fsf.org/, and you should always receive a copy of this license with your K-3D distribution. If you did not receive a copy of this license please contact the current maintainer of K-3D.
How does K-3D store documents ?
K-3D documents are stored using a simple, flexible, easy-to-understand XML markup. This makes the files robust, easily compressed, and easily interchangeable in a variety of interesting ways.
Where are RIB files and frames saved ?
Those files are saved in the Render Farm Path defined in Tools > Options > Paths dialog, from the application window (default is /tmp on POSIX platforms). Whenever you click on the Render preview button, a directory named k3d-preview-NNN is created, where NNN is the number of the directory. There you'll find RIB file in frame000001 sub-directory, as well as log files. Same thing for frame and animation rendering, but the directory name which will be respectively 'k3d-render-frame-NNN' and 'k3d-animation-frame-NNN'.
Some textures don't render at all, what happens ?
BMRT or Aqsis don't support indexed bitmaps, that is 8-bit per pixel pictures, like GIF files. If you're using NetPBM version >= 9.25, edit the configuration file netpbm.conf you'll find in k3d/share/ directory and add -truecolor option in the following line to force 24-bit format :
<writer command="pnmtotiff -none -truecolor %p" format="TIFF RGB" filename="(.tif$|.tif.|.tiff$|.tiff.)"/>
Else convert your textures to a 24-bit picture format.
Bitmap Viewer doesn't work
A: The default viewer is not available on your computer: open Application Window > Tools > Options > Applications dialog, and set the command for your favorite image editor or viewer followed by %p which will be replaced by the image name. If the program is not in the system's path, you'll have to write full path. Example on the Win32 platform:
"c:\Program Files\Accessories\mspaint" %p
Quotes needed because of the space in Program Files.
When I create a document, windows are opened minimized and can't be re-opened ?!?
It happens when K-3D application is closed with minimized windows, with Restore Window Size/Position option turned on. To turn it off, open Application Window > Tools > Options dialog. Then exit K-3D and launch it again : open a new document, the windows will open with default sizes.
The K-3D hierarchy window is empty or shows strange characters
You're using a GTK+ theme with Unicode texts: Just try switching to another theme, Metal should work.
Click render preview and nothing happens
You will need to install a rendering engine, one of the several K-3D supports (see preferences). The best supported one is Aqsis.
If you need/want to build it, follow instructions BuildingAqsis here
Installation and configuration information is InstallationAndConfiguration here
Can I export images just by clicking on the export button?
Import and Export functions let you import and export from and to other 3D modelers using the available formats.
The File > Import and File > Export commands work with 3D geometry file formats, not bitmap images.
K-3D can use many different bitmap file formats for input, but its output is dictated by your render engine. Most of the RenderMan compatible render engines preferred for use with K-3D (such as Aqsis) produce TIFF files as output.
How do I save preview?
K-3D offers 4 save features from the viewport. Look closely you will see 4 rec buttons in the toolbar.
The first rec button (red) renders your work as an image.
The second rec button (red) renders your image as an animation.
The third rec button (black) just saves your viewport image. It will not however render it.
The fourth rec button (black) just saves the viewport as an animation. However, again it will not render the picture.
To render:
1. Click preview to check if all is fine.
Click Render frame: it will allow you to render and save the image anywhere on your drive.
-- OR---
Click Save Render Animation: again it will allow you to render and save the animation anywhere on your drive.
To Just Save Your Worked On Image Without Rendering at End
1. Click preview to check if all is fine.
Here you can save two ways, two different things.
Click Save Viewport frame: it will allow you to save the image anywhere on your drive.
-- OR---
Click Save Viewport animation: again it will allow you to save the animation anywhere on your drive.
Done! Your animation images should be readable with many image applications.
Help! I am rendering the image and I see checkerboard pattern at the end result what do I do?
Your output images contain an alpha channel (transparent pixels), and some programs display the checkerboard pattern "behind" transparent pixels to help you visualize transparency in your images.
The Aqsis display uses the checkerboard pattern for a different purpose: to show which parts of the image have been rendered, and which haven't. This may be causing you some confusion, since the alpha channel never shows up in the Aqsis display.
Some file formats like JPEG don't have support for alpha channels, so when you convert the TIFF image that Aqsis produces to JPEG, you're losing the transparency information. This can cause additional confusion.
If you don't want an alpha channel in your images, open the camera properties in your K-3D document, and disable the "render_alpha" checkbox on the "Output" tab.
I am trying to cut shapes in K-3D but how would I do that?
See the documentation for the CGALBoolean, RenderManCSGSolid, and RenderManCSGOperator plugins.
I don't have a GTSBoolean plugin in my Create menu, what's the deal?
You will have to grab the optional gts library. In most cases once you have downloaded the library. You will install it without any extra ./configure options. In that case what you will be doing is this:
- ./configure
- make
- make install or (checkinstall if you like to use it)
Please note, if you have installed K-3D already you will have to uninstall it first and recompile with: ./configure --with-gts. You may run ./configure --help and add or exclude more things.
I can't see the viewport on Windows Vista. How can I fix it?
Here is the workaround:
k3d.exe shortuct properties -> Compatibility -> Disable desktop composition