August 31, 2010

Feed: K-3D Forums

dint on "Help with Yafray."

Hi. I was trying to run Yafray, but the error: "Check to ensure that you have Yafray installed, and that the PATH environment variable points to the Yafray installation directory." Then I install Yafray for windows32 but still have the error and cant render yafray models. Can somebody give me one link with tutorial or some help to fix it? Thank you.

August 19, 2010

Feed: K-3D Forums

inam on "Screen size"

hihi, can somebody tell me how to change the screen size for the k3d? as my device resolution is 800x480.. too low...when i switch to full screen mode, but still can not solve this problem.

August 09, 2010

Feed: K-3D Forums

respectyoda on "Rendering the object"

Hello, I just downloaded K-3D for the first time [on my MAC] and I am already impressed with the program. I proceeded to do the Mug Tutorial. At the end, I tried to render the object according to what you did in the tutorial but I got a popup message saying, "Choose RenderMan Implementation - you must choose the specific RenderMan implementation to use with this render engine." Help por favor! :)

July 30, 2010

Feed: K-3D Forums

thistle on "0.8.0.1 for windows fails to show"

I installed k-3d 0.8.0.1 from installer for windows on my dinosauric Win2k. After trying to run program it's window didn't appeared. I opened task manager and saw k3d process, which were hogging 99% of CPU time. Tried uninstall and reinstall with VC 2005 and VC 2008 runtimes from k3d installer (before i already had them installed) with the same result. Is there any easy way to recieve some debug info for you could see if something is wrong? Win2k have been updated until MS dropped support for good on 13 july.

July 19, 2010

Feed: K-3D Forums

gbhmayer on "0.8 version and Ubuntu??"

I installed the k-3d in ubuntu with the command $ apt-get install. When I ran the program, I noticed that the installed version was 0.6.7.0 and not 0.8.0.1. Would like to install ubuntu in the updated version?

July 13, 2010

Feed: K-3D Forums

ojces on "Please help :-("

I downloaded k3d-setup-0.8.0.1.exe install everythink OK but when i run k-3d it says Caught unknow exception. I tried lower versions k3d-setup-0.7.11.0.exe same error. k3d-setup-0.7.1.0.exe says visual c ++ runtime error. Only version 0.6.6.0 and lower works fine. I have Windows XP sp 2 x86. What is wrong ? C++ 2005 and 2008 redistributables i have installed. Thank you and sorry for bad english.

July 07, 2010

Feed: K-3D Forums

Jake on "Question"

Hello,
How can i make a Refractive index, reflections from objects, and put textures of a object?
i have the version 0.8.0.1

June 23, 2010

Feed: K-3D Forums

Sickill on "Windows 7 not liking K-3D."

I just tried installing K-3D on my new windows 7 laptop. It installs fine. When you launch K-3D (Which failed to create the desktop icon even though I checked the box for it during the installation) on windows 7 it first opens fine. Then, it if you close the Welcome window with the Light Bulb on it and double click a sample to open, it then gets a error from windows 7 that pops up in the system tray saying that this program k-3d.exe has caused an error and the windows basic 7 theme must be used. (Which is the one I was using already.) Then the sample never opens, and the view area where the model is supposed to show up lets you see through it to your desktop, and there are partial windows overlapping each other, and it's obviously partial frozen. But if you click file, and click around on the options in the menu bar at the top that part is still working. I tried changin themes, and running the program in windows xp mode, and windows vista mode, but nothing worked. It all still gives the same error message, and the same partially frozen window. If you minimize/maximize the window it will come up and the partially overlapping windows will be gone, but in the viewport you just see the desktop. If you try changing the viewport using the arrow drop down, it crashes to the desktop. Any ideas how to get it working on windows 7?

Sickill on "K-3D for gaming mods?"

Does anyone know if K-3D is good for making mods to game engines like Unreal 2, Unreal 3, Crysis Sandbox 2, Starcraft 2 Galaxy Editor, Source Engine, etc? K-3D looks very promising, and I just wanted to know if anyone is actually using it to mod games yet. I also noticed that the only export option that I could find was for Colloda dae. I was wondering if anyone know where to get more plug-ins that would let you export it different formats. Any guides for game character models? Thanks!

June 17, 2010

Feed: K-3D Forums

kursad on "Building under Debian?"

Hi

I was an Ubuntu user in the past but now moved to Debian. So I am trying to build it under Debian. I installed all the stuff explain on the wiki.

This is where I am stuck at

-- Found Doxygen: /usr/bin/doxygen
CMake Error: The following variables are used in this project, but they are set to NOTFOUND.
Please set them or make sure they are set and tested correctly in the CMake files:
Boost_PYTHON_LIBRARY (ADVANCED)
linked by target "k3dsdk-python" in directory /install/temp/k3d/k3dsdk/python
linked by target "k3dsdk-python-arrays" in directory /install/temp/k3d/k3dsdk/python
linked by target "k3dsdk-python-atk" in directory /install/temp/k3d/k3dsdk/python
linked by target "k3dsdk-python-const-arrays" in directory /install/temp/k3d/k3dsdk/python
linked by target "k3dsdk-python-values" in directory /install/temp/k3d/k3dsdk/python

-- Configuring incomplete, errors occurred!

June 16, 2010

Feed: K-3D Forums

ray on "Material Manager Crash"

This has probably already been reported but I could'nt see it in the forum and I am still too much of a k3D tourist to know where the prefered bugtracker is, just checking the improvements from times to times. The program is starting to get more stable at startup now. Except the following:

If I try to change any of the window to a Material Manager, it crashes.

I'm using Windows XP SP3 on a Pentium 4M laptop with ATI mobility radeon 7500 and 760 Mo of RAM.

June 14, 2010

Feed: K-3D Forums

Elro on "Eport"

Hallo!
I have a version 0.8.0.1 and need to export to OBJ or OBP. What plugins needs K-3d for it and where can I download them (and how to add)?
Also I have a problem with an export to COLLADA (dae): it shows "The folder contents could not be displayed Invalid byte sequence in conversion input" and doesn't save file. Why can it be and what to do against it?

June 12, 2010

Feed: K-3D Forums

Simburg on "any problems ..."

Caught unknow exception: this mensage to open program,what?

What can i do?

June 03, 2010

Feed: K-3D Forums

Gaz on "RenderMan Volume Shader"

I would like to fill a box with a smoke/have that partially attenuates light. I think I need to use RenderMan Volume Shader? I cannot figure out from the RenderMan Volume Shader user document how to use it. I would be very appreciative if someone could let me know if I start out with a polycube, how do I then apply the RenderMan Volume Shader? Cheers.

June 01, 2010

Feed: K-3D Forums

kursad on "Subdivide faces under Create-Polyhedron menu is not working"

But for some reason the one that is under right click mesh modifier menu works. (under windows7 64bit). Does it sound like a bug?

May 28, 2010

Feed: K-3D Forums

starkiller53861 on "A Little Warning?"

Hmm... so I download K-3D for Windows (0.8.0.1), only to find the evil-dialog-box-of-64bit-compatibility saying - and I quote (although the two quotation marks make this quite clear) - "The version of this file is not compatible with the version of Windows you're running. Check your computer's system information to see whether you need an x86 (32-bit) or x64 (64-bit) version of the program, and then contact the software publisher."

So I check the site, thinking "silly me, I didn't notice the big text saying that it's incompatible with 64bit" only to find that the website makes no mention of this whatsoever!

The odd thing, however, is that a friend gave me a copy of 0.7.10.0 and it runs fine (I have it installed right now).

So either:
(1) My PC's buggered - not a happy thought;
(2) The website was simply lacking a warning - most likely;
or (3) My evil ISP corrupted the file - Mwahahahaha, time for revenge!

Whichever it is, that's 80MB of my monthly internet usage well spent.

This is not meant to be a complaint, this is not meant to express anger or disappointment, this is merely a request for "A Little Warning" (although the title of this post should make that painfully obvious).

All I'm saying is a little warning might be nice before I blew 80megs of data (that's all I'm saying. That you're completely enculé is mere implication).

Thanks, and goodnight,

starkiller53861

May 25, 2010

Feed: K-3D Forums

kursad on "K-3d and Aqsis"

Hi

I am wondering if there are any plans for tighter integration of Renderman interface. To be honest I have not done much with Aqsis and K-3d but I would like to give it a go. I have read the documents and one thing that kept me distanced was the metadata files. I understand the need for such files but what if the author does not want any interface? I mean most shader writers would be happy to hack inside the text editor until it is ready to wrap up for release. Until then it seems like going through compiling xml and restarting K-3d sounds like quite a hassle.

Also I saw this line inside the documentation. It would be great if some one would explain what all this means and why one needs to run through a compiler

http://www.k-3d.org/wiki/RenderMan_Surface_Shader
"Note that k3d-sl2xml only supports preprocessed sources as input, so you need to run the shader source through a C preprocessor:

$ cpp -E -P -x c test_shader.sl | k3d-sl2xml > test_shader.sl.slmeta

"

It would be really great if it was possible to pass this xml and restarting ritual if the user does not want to. If someone wants interface all the way from start to end that is fine. But I personally prefer speedy development phase.

Overall the Renderman interface documentation is good, at least for some stuff :)

May 23, 2010

Feed: Tim Shead's Blog

Integrating Aqsis and K-3D

See the video at http://www.youtube.com/watch?v=s9b0jj82us4&feature=player_embedded … in the long run, I’d like to see Aqsis and LuxRender plugins that allow us to render previews into the viewport, render material previews, etc.

Post to Twitter Tweet This Post

May 21, 2010

Feed: K-3D Forums

kursad on "Node list vs Node history"

Hi
I am little convoluted about the node list window. Lets say I have created 2 objects and a light(1 sphere, 1 light, 1 plane). But my node list is showing me massive amounts of node.

To me it feels like this naming is totally reversed, or they are kind of out of context. In my view the Node history should be named as Node list, Node list should be Node history. Because when I look at my node history on selected items I see context related nodes, but Node list panel is rather confusing. I assume Node list is more like "global" node history.

Can someone shed some light on these naming conventions please? For example what would be the best way to use "node list window"?

May 15, 2010

Feed: K-3D Forums

streethawk on "is it possible to model objects using NURBS in k-3d?"

i'm looking for a tutorial for creating objects using NURBS in k-3d?

does anyone know how to do it? i want to be able to make objects using the spline modeling technique. similar to the nurbs modeling technique in rhino3d or the spline draw in lightwave.

May 13, 2010

Feed: K-3D Forums

kursad on "Ubuntu build error"

Hi
I am trying to build it under Ubuntu 9.10 and getting an error. I did cmake without errors

/install/temp/k3d/k3dsdk/uuid.cpp:32:24: error: uuid/uuid.h: No such file or directory
/install/temp/k3d/k3dsdk/uuid.cpp: In static member function ‘static const k3d::uuid k3d::uuid::random()’:
/install/temp/k3d/k3dsdk/uuid.cpp:71: error: ‘uuid_t’ was not declared in this scope
/install/temp/k3d/k3dsdk/uuid.cpp:71: error: expected ‘;’ before ‘temp’
/install/temp/k3d/k3dsdk/uuid.cpp:72: error: ‘temp’ was not declared in this scope
/install/temp/k3d/k3dsdk/uuid.cpp:72: error: ‘uuid_generate’ was not declared in this scope
make[2]: *** [k3dsdk/CMakeFiles/k3dsdk.dir/uuid.cpp.o] Error 1
make[1]: *** [k3dsdk/CMakeFiles/k3dsdk.dir/all] Error 2
make: *** [all] Error 2

btw it would be nice if the library versions are mentioned in the install page. It is hard to figure this out with trial and error.

thanks

xtrapsp on "Tutorials and sources."

Hey everyone, ive been using K-3D for some time now and im still quite a begginer, i want to start moving away from making tables, mugs, chairs etc to more detailed and difficult tasks such as peoples arms (Such as for 3D first person Shooters)and guns etc, i know this is a big step but im willing the take the push, to be honest ANY tutorials will help ive done the mug tutorial.

thanks in advance :D

May 12, 2010

Feed: K-3D Forums

FireX on "A few Problems"

LuxRender Is not working in Windows nothing is generated when rendered and i its very pain full converting .tiff to .jpeg and putting it in VirtualDub

April 19, 2010

Feed: K-3D Forums

sandwormblues on "Flex / Actionscript integration?"

Hi Everybody, K-3d is awesome!

Does anybody have a good method for integrating K-3d artwork with Flash / Flex / Actionscript? For example, I want to turn K-3d objects into clickable buttons in a swf file for a web site.

If there were an easy way to do this, then K-3d would be a powerful design tool indeed!

April 15, 2010

Feed: K-3D Forums

Bouba on "Create a NURBS curve interpolating a given contol points as an input"

I would like to create a NURBS curve interpolating given contol points as an input, this control points are choosen from a certain NURBS surface, the idea is to draw a curve inside this surface.
I am new user of K-3D, so please can you help me or may be you have a link to some manual od good documentation of the software.

Thanks
Bouba

April 10, 2010

Feed: K-3D Forums

patsoko on "K3D 0.8 Big problem..."

Hi all,

It seems that the renderman surface shader is not sent to the engine. the displacement shader yes but not the surface one.

Let's put a cube in the scene.
Add a renderman surface shader like bluemarble.
Add a renderman displacement shader like dented.
render with the bundled aqsis
Result: one purely white cube.
If I lower Ka in the surface shader, k3d renders a gray cube WITH the displacement shader.

I'm on Vi$ta32. I have no errors in the log window.

Can you help me. Thanks in advance.

April 04, 2010

Feed: K-3D Forums

m@b on "Could not determine scripting language - Ubuntu Karmic; k-3d mercurial latest"

Hi all!

I have cloned the mercurial source on the latest and compiled under karmic.

When I try to run a python script(from the examples) I get the "Could not determine scripting language" error.
I have python 2.4 - 2.6 installed with dev packages of course.

I have tried rebuilding with testing enabled so I can see what it tells me, but I get a build error

"""
/usr/include/boost/accumulators/statistics_fwd.hpp:87: error: ‘template<int N> struct boost::accumulators::tag::moment’ is not a function,
/usr/include/boost/accumulators/statistics/moment.hpp:104: error: conflict with ‘template<int T2, class Arg1> typename boost::accumulators::detail::extractor_result<Arg1, boost::accumulators::tag::moment<T2> >::type boost::accumulators::extract::moment(const Arg1&)’
/usr/include/boost/accumulators/statistics/variance.hpp:54: error: in call to ‘moment’
"""

Thanks.

April 01, 2010

Feed: K-3D Forums

Rhyous on "Mug's handle not rendered the same as the rest of the mug using Aqsis in FreeBSD"

When I render the Mug example in FreeBSD using Aqsis 1-6.0_2, the handle doesn't render the same as the rest of the mug.

Rending on FreeBSD 8 with Aqsis looks like this:
http://rhyous.files.wordpress.com/2010/01/freebsd-and-aqsis-rendered-mug.png

Rendering on Windows 7 looks like this:
http://rhyous.files.wordpress.com/2010/03/mug.png

I am not sure which part of the mug rendered correctly: the handle or the mug. Because the handle is closer to the render color/shading I get in Windows 7, I almost think the handle rendered correctly and the rest of the mug did not.

March 31, 2010

Feed: K-3D Forums

Timothy Shead on "New Video Page"

Folks:

We've added a new page to the website for presenting videos, along with a new video version of our subdivision surface mug tutorial ... check-out http://www.k-3d.org/video - and keep an eye out for new video tutorials as they appear!

Cheers,
Tim

March 26, 2010

Feed: Tim Shead's Blog

K-3D Video Gallery

With the tracker for K-3D 0.8 empty, it’s time to get ready for the release. Among other projects, you can find a first pass at a dedicated video gallery at http://www.k-3d.org/video, along with a new video version of the classic K-3D mug tutorial …

Post to Twitter Tweet This Post

March 14, 2010

Feed: Tim Shead's Blog

New UniformPolyhedron Source for K-3D 0.8

With K-3D 0.8 effectively feature-complete, we’re just making sure that everything builds cleanly and produces consistent results on all platforms … in a number of cases, we’re seeing plugins that produce results that are visually indistinguishable to the casual user, but contain tiny numeric differences across platforms.  Usually these tiny errors are the result of rounding or slight differences in the way that different processors compute numbers, such as the sin() of a value, and can be ignored.  But in a few cases the differences are larger than we’d like, and require further attention.  As a rule of thumb, the more complex the computation, the more likely that the results will vary.  The old Polyhedron plugin was one example that computes uniform polyhedra at runtime using some pretty hairy math, and produces inconsistent results (again, not visible to the naked eye, but extremely obvious in our tests). So I’ve replaced “Polyhedron” with “UniformPolyhedron”, which stores a list of popular polyhedra instead of computing them on the fly:

The UniformPolyhedron mesh source in action ...

The UniformPolyhedron mesh source in action ...

Post to Twitter Tweet This Post

February 12, 2010

Feed: Tim Shead's Blog

More UI Stuff

The new user interface work for K-3D 0.8 will likely rely heavily on Client-Side-GTK and/or Clutter

Post to Twitter Tweet This Post

February 05, 2010

Feed: Tim Shead's Blog

Live And Learn …

In an effort to follow best-practices in the K-3D website, our recent overhaul switched from HTML to XHTML for our content.  As it turns-out, this wasn’t the way to go … in response to some complaints about inaccessible web pages, I’ve learned a lot about HTML-versus-XHTML at http://www.webdevout.net/articles/beware-of-xhtml … in a nutshell, it simply isn’t possible to use XHTML with certain web browsers without resorting to counterproductive hacks. We aren’t invested in XHTML in any significant way, so it turned-out to be better (and easier) to switch back to strict HTML 4. Go-figure …

Post to Twitter Tweet This Post

January 31, 2010

Feed: Tim Shead's Blog

Define “Different” …

Take a look at the K-3D Developer Dashboard, and you will see that, for a small project, K-3D does a significant amount of nightly testing, far more than most of the commercial firms where I’ve worked.  These nightly tests are, for the most part, constantly checking to verify that changes in the code don’t cause unwanted changes in the outputs of individual plugins.  The tests generally setup a small pipeline with a set of known inputs and parameters, then test the output against a reference file to see that they are equal.

The tricky part is that testing for equality isn’t as straightforward as you might think.  Thanks to the imprecision inherent in floating-point math, different platforms, different compilers, and even different runs with the same compiler and platform may produce slightly different results.  Accordingly, tests can’t simply check to see if a test produces a value equal to 1 … in practice such a test might produce 1, 1.00000000000003, or 0.99999999999998 and still be “correct”.  Because of this, tests can’t test for true equality, they have to test whether values are “close enough”.

Until recently, K-3D used a template class, k3d::almost_equal to handle this case.  k3d::almost_equal took a threshold as a parameter and produced a boolean result – whether two values were equal or not, taking into consideration floating-point issues and the threshold value.  The problem with this approach was that if a test was failing, it was difficult to figure-out by how much – you had to plug different values into the threshold and re-run the test to see whether the results changed or not.

Accordingly, I’ve replaced k3d::almost_equal with k3d::difference, which returns the difference between two values, leaving it up to the caller to decide how to use the difference – whether to test it against a threshold, just report the value, etc.  As you might expect, k3d::difference is templated, with specializations provided for all of the well-defined K-3D types, plus arrays, tables, primitives, and meshes.

Post to Twitter Tweet This Post

January 27, 2010

Feed: Bart Janssens' Blog

First CARVE boolean results

This week I did a first test using the CARVE boolean library. Execution is MUCH faster than with CGAL, but unfortunately the ordering of mesh components is not consistent, as shown in the following screenshot, which compares two subsequent runs using CARVE.

numbered_cubes

Difference in numbering, when not sorting the output

Responding quickly to the issue I created about this, CARVE author Toby Sargeant suggested using canonicalize to sort the result. This resolved the above issue, and only one test still fails in one place. The test case applies two subsequent booleans, doing “(big cylinder – small cylinder) – torus”, as illustrated in the next picture.

Cylinders and torus before and after the boolean

Cylinders and torus before and after the boolean

It seems only one point, at the intersection of the top and bottom, still gets switched around. The next figure show the difference in numbering, point 39 and 40 got switched around, as did some of the connected edges:

Switched points and edges between two runs

Switched points and edges between two runs

Interestingly, this error is identical to what happened when we tried to use CGAL with a custom number type based on double. The top face is actually triangulated before the boolean, and this causes two edges to intersect “exactly”. Rounding errors may cause the difference in numbering.

Triangulated top face of the big cylinder

Triangulated top face of the big cylinder

Performance wise, this dashboard run shows the difference between CARVE and CGAL. The important test here is the benchmark test, showing an improvement by a factor of 50 if only the boolean operations are taken into account. Not bad!

Post to Twitter Tweet This Post

January 23, 2010

Feed: K-3D Forums

Rhyous on "Need Updated Port for FreeBSD 8"

Hey all,

I am trying to get an updated port for K-3D on FreeBSD 8.

Since the K-3D maybe don't manage this but someone at FreeBSD should, I started a thread on the FreeBSD forums.
http://forums.freebsd.org/showthread.php?p=63896

Lets see what happens.

January 07, 2010

Feed: Bart Janssens' Blog

Profiling with Google Perftools

With changeset 415e971ad9, support for easy CPU profiling using Google Perftools. There are changes to the build system to link with the perftools library, and there is a startup plugin to automatically start profiling without the need to set environment variables.

Usage

First, build and install Google Perftools using the normal installation procedure. By default, /usr/local is searched by CMake, so keeping this default is easiest. CMake contains two relevant variables:

  • K3D_ENABLE_PROFILING: Enabling this links the SDK and all modules against the profiling library, so profiling can be enabled. It also adds the google perftools include directory to the include path.
  • K3D_BUILD_GOOGLE_PERFTOOLS_MODULE: Builds the startup module, which automatically activates profiling on startup. If you want to restrict profiling by adding ProfilerStart/ProfilerStop calls in your C++ code, you should disable this module.

By default, profiles are saved to the temp dir (/tmp on linux), this can be configured using the “profile_files” path option in .k3d/options.k3d. If all goes well, you should should see a line like

DEBUG: google_perftools: saving profile data to file /tmp/k3d-profile-0.pprof

when running K-3D. A profile file is never overwritten, the index is incremented as with the preview renders. The recommended build type for profiling is RelWithDebugInfo. This ensures performance is close to the real-life case. If the call graph is unclear, a full debug build will show more details, as there are no optimizations.

Adapting pprof

By default, pprof (the profile data processing tool) only supports libs with a .so, .dylib or .dll extension. Since K-3D plugins use .module, you need to add this to the regular expression on line 3246 in the pprof perl script, like this:

if ($l =~ /^($h)-($h)\s+..x.\s+($h)\s+\S+:\S+\s+\d+\s+(\S+\.(so|dll|dylib|module)(\.\d+)*\w*)/i) {

Examples

Just for fun, I tried profiling the SDS code, by applying 6 iterations of CatmullClark on the default polysphere. The profiling file was processed using:

pprof --gv bin/k3d /tmp/k3d-profile-0.pprof

Here, the call was issued from the build dir. If you execute from somewhere else, bin/k3d should be replaced with the path to the K-3D executable. The command produces a nice call graph of the entire K-3D run, where the biggest functions represent the biggest CPU consmers. For SDS, this surprisingly turns out to be __gettimeofday:

SDS profile, full

SDS profile, full

We can get more information about this by “focusing” on the call of interest and showing more nodes, using

pprof --gv bin/k3d --focus=__gettimeofday /tmp/k3d-profile-0.pprof

Note that this was done using a debug build, not a RelWithDebInfo build, since some intermediate calls are optimized out otherwise. The resulting graph is:

sds-timing-detail

The problem is obvious now: During the development, SDS code was profiled manually by adding k3d::timer calls at different points in the code. In this case, there is one in the face_center_calculator, in order to evaluate the importance of attribute data updates. As it turns out, this timing call is now dominant over the SDS calculation itself! In retrospect, adding that many timing calls was silly, but proper profiling pointed out the error very quickly indeed.

Since we have profiling support now, all timing calls were removed from the SDS code in changeset f5c14e68f4. As a result, the Catmull-Clark operation is twice as fast, and the update step is more than 3 times as fast. Not bad for a 5 minute profiling run!

f5c14e68f4

Post to Twitter Tweet This Post

January 02, 2010

Feed: Dan Matthews' Blog

Using CGALBoolean and LuxRender to simulate optics.

Various lens shapes can be designed in K-3D using the mesh primitives and CGALBoolean operations. Using LuxRender and bidirectional path tracing allows you to accurately simulate the photon paths through the lenses. Luxrender also allows for dispersion calculations but these are not shown in the example below.
output_Path_trace_bidirectionalIt is possible to construct a scene so that a Null node holds a set of user properties that the scene components connect to so that it becomes a master controller from which parametric adjustments can be made. The images below show the graph layout for such a scene, the 3D viewport layout and the final render in LuxRender.

Parametric_lens_test_2_controler_graph_1

Parametric_lens_test_2_scene_1

Parametric_lens_test_2

January 01, 2010

Feed: K-3D Forums

kursad on "K-3D 0.7 for Ubuntu"

Hi
I want to install the latest version from the Ubuntu repo but I see that the latest version that is available from Ubuntu is 0.6.7. Is there a plan to provide v 0.7 in the repo ?

thanks

December 18, 2009

Feed: Dan Matthews' Blog

Fake 3D vision in K-3D

By alternating the view rapidly from side to side we can give the impression of 3D space in a viewport that normaly is just a 2D projection of the selected camera’s view of the scene. I have also used fog so that the sense of depth is further enhanced. The speed and size of the shift needs to be tune-able and the timing should be sent to a chosen port to allow the incorporation of LCD shutter glasses.

Fake3d_view

Well it looks like such cute tricks are soon to be made redundant by technology such as Acer’s GD235HZ 23.6-inch 3D display.

Feed: Tim Shead's Blog

And then there were seven …

… broken legacy filters to be updated, that is:

  • FilletEdges
  • CollapseEdges
  • DissolveComponents
  • ExtrudeFaces
  • JoinPoints
  • BevelFaces
  • BevelPoints

Post to Twitter Tweet This Post

December 04, 2009

Feed: Tim Shead's Blog

K-3D Heart Sketch

This work will have a significant influence on the user interface work in K-3D 0.8:

http://www.dgp.toronto.edu/~shbae/ilovesketch.htm

Post to Twitter Tweet This Post

December 01, 2009

Feed: Tim Shead's Blog

Preparing for K-3D 0.8

Getting ready for K-3D 0.8, I am cleaning-up a lot of legacy code, basically everything that predates generic primitives.  That includes, in no particular order:

  • FilletEdges
  • Weld
  • CollapseEdges
  • DissolveComponents
  • BridgeFaces
  • MakeCreases
  • CapHole
  • ConnectVertices
  • JoinPoints
  • BridgeEdges
  • BevelFaces
  • BevelPoints
  • ExtrudeFaces
  • QuadricDecimation

Post to Twitter Tweet This Post

November 26, 2009

Feed: Tim Shead's Blog

3D Scanning With a Webcam

Sweet stuff here:

http://mi.eng.cam.ac.uk/~qp202/my_papers/BMVC09/

… I’m very impressed with the performance and tracking – I could see doing interesting things with a gesture-based user interface in K-3D …

Post to Twitter Tweet This Post

November 22, 2009

Feed: Dan Matthews' Blog

Open Architecture Network

http://www.openarchitecturenetwork.org/ and http://www.architectureforhumanity.org/ are two projects that could benefit from K-3D’s architectural modelling and rendering potential.

November 21, 2009

Feed: Dan Matthews' Blog

Parametric point|edge|triangle or quad substitution, with recursion.

The input mesh for points needs a center property, the mesh for edges needs start and finish point properties and the input mesh for triangles needs three point properties. Not sure if an orientation property is required but it may be helpful.

Parametric Triangle Substitution

A mesh filter that replaces parts of the input mesh with copies of other meshes, where the user can specify a replacement mesh for each of point|edge|triangle or quad.

For example, a simple polyhedron made from triangles can be transformed into a spaceframe with extruded beams on edges, ball joints at points and double glazed window units where there were triangular faces. I only specified triangle or quad because I can’t see how triangle AND quads could work.

For a true frame structure the initial mesh would need to be extruded so that it had thickness and then this skin must contain the required lattice of edges and triangles with differentiation between original faces, copies (the extrusion caps) and sides of the extrusions. Once you have this extrusion tool you can take a free formed or algorithmic mesh and convert it into something that can be built using CAM. Ideally boolean operations also need to be performed between the three input geometries after they are transformed for each triangle of the input mesh.

See Evolo for many examples of what then becomes possible.

The above is just one example, in another the first pass could be to just replace triangles with more triangles before applying the filter again to the  triangle part input mesh to make a space frame.

This system could be implemented as an extension to or variation of the LSystemParser module.

See also, Geometry of Multi-layer Freeform Structures for Architecture.

And for something less “useful” but still very interesting, fractal polyhedra.

November 20, 2009

November 06, 2009

Feed: Dan Matthews' Blog

Visualising DOF in the OpenGL 3D viewport with a variably blurred grid bitmap

DOF mock up screen shot 2

DOF mock up screen shot 2

Visualising Depth Of Field can be difficult therefore a method of seeing changes to camera setting in the 3D view-port prior to rendering is desirable so as to avoid lost time due to focus errors.

The grid shown below is projected out from the camera and is semi transparent so that it can interact with objects in the scene so that the user can clearly see the amount of defocusing a given part of the scene will be subject too.

See blur disk diameter.

DOF visualisation mock-up

DOF visualisation mock-up

The grid below would be generated based on the properties of the camera it is associated with and would update in real-time as those properties are adjusted.

Variablly blurred grid for DOF visualisation

Variably blurred grid for DOF visualisation

Ideally the grid would be a wedge shape that matched the Field of View of the camera. And for precision the user could select one or more objects and the grid would project in two planes at right angles to each other who’s long axis would run from the camera to the center of the selected object/s.

October 23, 2009

October 21, 2009

Feed: Dan Matthews' Blog

Architectural sun study using animated sun position with LuxRender, first test frames.

After a few issues with bugs, including dropped frames I have finally got a finished animated sun study. Here are two more plan views for Summer and Winter. Rendered with very low quality settings so I did not have to wait all day for a result. :-)

LuxRender_Sunlight_Animations_test-stills_1a

Ptex: Per-Face Texture Mapping for Production Rendering

A possible solution to having to set up UV mapping on surfaces Ptex

October 20, 2009

Feed: Dan Matthews' Blog

EnergyPlus version 4.0 Now Available

EnergypPlus models heating, cooling, lighting, ventilating, and other energy flows as well as water in buildings.

In K-3D there is currently no direct output plugin for this yet, but RenderEngineScript will let you write you own, using nodes with custom metadata, Plugin_Metadata, Property_Metadata and Node_Metadata

One compact yet reasonably complete reference for this topic is  Introduction to architectural science: the basis of sustainable design By Steven Szokolay

Feed: Bart Janssens' Blog

9 more NURBS tests to go

The NURBS extrude tools and curve traversal are done now, only 9 failing tests remain, so the end is in sight ;) I’ll merge with the SF.net repo once all NURBS plugins are up-to-date again, and after that look into the win32 build (and set up my dashboard again).

Post to Twitter Tweet This Post

October 14, 2009

Feed: Bart Janssens' Blog

NurbsCreateCap updated

NurbsCreateCap is now updated to the new mesh structure. The method of creating the cap was changed: instead of using ruled surface along two halves of the curves, the new method uses the same technique as in the disk NURBS primitive, with the option of setting a number of radial segments.

Post to Twitter Tweet This Post

October 10, 2009

Feed: Bart Janssens' Blog

NURBS curve plugins updated

Today, I finished going over the NURBS curve plugins. The NurbsEditCurveKnotVectors plugin underwent the biggest change, and supports editing multiple curves in one go now, as well as inserting knots. Code-wise, NurbsSplitCurve was overhauled as well.

On to the NURBS patch plugins now!

Post to Twitter Tweet This Post

September 30, 2009

Feed: Bart Janssens' Blog

New plugin: NurbsMergeCurveKnotVectors

While updating NurbsCurveInsertKnot, I removed the “Share degree and knotvector” flag that was present. Basically, this flag caused the knot vectors (and by necessity also the degrees) to become identical for all selected curves. This is a requirement when i.e. creating a lofted surface. Since the operation might be useful on its own, and because it’s more in line with K-3D’s pipelined architecture, I’ve created a new plugin for this. Details on the algorithm can be found on page 338 of the NURBS book.

Post to Twitter Tweet This Post

September 24, 2009

Feed: Bart Janssens' Blog

Updating the NURBS code

As part of the preparations for the release of K-3D 0.8, I am looking into updating the NURBS plugins to make them work with the latest changes in the K-3D mesh structure. While at it, I’ll also be aligning the interfaces of nurbs_curve_modifier and nurbs_patch_modifier to the k3d::nurbs_curve / k3d::nurbs_patch interfaces. This means we’ll be moving towards a series of functions operating on k3d::nurbs_curve::primitive, instead of a single nurbs_curve_modifier class that does everything.

For curves, the new methods are in modules/nurbs/nurbs_curves.h, and so far NurbsCloseCurve, NurbsCurveElevateDegree, NurbsConnectCurves and NurbsCurveInsertKnot have been updated and can be pulled from https://k3d-bart.googlecode.com/hg

Post to Twitter Tweet This Post