Hi !
Hope you all had a happy new year, I have added support for UV
coordinates to MagicLight to now, I didn't do this before as I simply
didn't have it very high on my priority list (and not much spare
time), the raytracer had image mapping that works fine without UV
coordinates so it was no big deal, but to get good flexible textures
UV(W) coordinates are needed and now they are in there.
So far they are auto generated by MagicLight for all shapes, in the
future it would of course be usefull with an UV-editor, but one thing
at the time...
Mikael
Hi again !
If you have peeked anything at the latest screenshots you will notice
that MagicLight doesn't look like most other modelers.
The GUI has gone through a number of phases and evolved into it's
current state over time.
I guess some of you will find it a bit odd, I have tried to get the
best of two worlds, the procedural way like you have in for example
PovRay, you enter the scene description as text, this is a very nice
solution for some parts of a scene, but then you want to create nurb
surfaces, triangular spline surfaces or other shapes that are best
done using interactive tools.
In MagicLight you have (at least I hope so) the best of both these
worlds, the line between interactive editing and the text decription
is almost gone, this also has the advantage of allowing almost
anything to be animated.
It's a bit difficult to explain, I guess you must see it to
understand the workflow, I will try to put up more screenshots and
some text descriptions on how it works on the website.
The plan is to put up the entire manual on the webiste, I have not
done that yet because the GUI is still not stable enough, I have done
some late changes here and there and lots of images in the
documentation needs to be replaced.
Hmmmm, as usual I talk to much so I will stop here, 2002 is on it's
way...
Mikael
Hi !
I will use the file area in the forum as a backup for all
downloadable files, some times downloading from the website is slow
so in that case, this could be an alternative.
We might as well use the file area when it's there...
Hope you all get a happy new year.
Mikael
Hi !
Hmmm, a bit of topic, but since I am the moderator that's not a
problem ;o)
Do you know of any links to information about tesselation of blobs
into triangle meshes ?
Merry Xmas to all of you.
Mikael
Hi !
To use custom shaders you will need gcc on Linux and lcc on Windows,
I decided to go for lcc because it is much easier to install then gcc
(mingw32/cygnus), but if any one wants to use gcc on Win32 this will
also be supported of course.
The custom shaders is just a C function in a dll/shared library, so
it's a bit like plugins, procedural textures, displacement and light
shaders will be supported to start with, I have plans to add custom
primitive objects also.
Mikael
Hi !
As I said before I have dropped the raytracer and is now using a
scanline renderer instead, the reason is of course that a raytracer
is to slow for animation on an ordinary desktop PC, if you want to
raytrace you just export the scene to Pov (PovRay) or Rib (BMRT)
format.
The nice things with a non GI renderer is that you can render
geometry of unlimited size in theory, so very large scenes can be
rendered.
I have put together a few fresh screenshots but they are not up on
the website yet...
I can't put everything up on the website yet, there is a 10MB limit
so I have to fix that, but I can always spread it out, I have threee
websites with a total of 25MB available so that shouldn't be a big
problem.
Mikael
Hi !
I did some experiments with a Java Swing interface to MagicLight
(using JNI), and it look's pretty ok, I used Java4GL, but I think I
will do the OpenGL interface myself, using Jav4GL for example is a
lot of overkill as the only thing needed to run MagicLight on Java is
the OpenGL widget itself, all the API communication is done by the
magiclight dll file and JNI, the code for this is just 100-200 lines
of code so it simple, the disadvantage is of course that it only
works with Sun's Java (and Blackdown I guess).
I also think I have solved the speed problems, the cascading shape
rebuilds could freeze MagicLight for 5-10 seconds sometimes, all of
this has been fixed now, I have not decided what kind of scripting
engine to hook up to MagicLight yet, at the moment I am using Python,
but I just link to the Python library and initialize it, so it's easy
to change to another one, any wishes in this area ?
Mikael
Hi again !
I have solved the problem, I have activated the moderator function so
any posts to the list must be okayed by me first, and I will NOT
allow any spam top the list, I will of course not bounce any other
message that is related to MagicLight.
Mikael
Hi !
Sorry about the spam, it is not very common as you have to be a
member to read and post to this list, the message is removed and the
sender banned from the list (it's a hotmail address so it probably
will not do any good but I did it anyway).
I think this is the first time it has happened and I will do my best
to make sure it does not happen again.
Mikael
Hi !
I still have a few things to work out to make MagicLight work with Qt
3, and there are some compatibility problems between Qt 3 and the Qt
2.x version available for Windows that is difficult to fix, but I am
working on it. I am also not sure if I can work out a solution that
works with license of the free Qt version for Windows (not GPL
compatible).
In the mean time I have come a bit closer to the MagicLight platform
independent solution, MagicLight for Qt is still an executable file,
but MagicLight is now becomming a dll/shared library instead, it's
all C++ code but the exposed interface is C code so any language that
can access C functions in a dll/shared library will be able to used
the MagicLight modeler library (VB, C/C++, Python, Delphi...).
And to make it complete I have started on a JNI interface so that
Java applications can use it to, I just haven't figured out what
OpenGL for Java to use, there are a few to choose from, Sun's Java3D
is nice, but it only works on Win32 and Sun's stuff (support for
Linux is on it's way though via Blackdown). the problem is that
Java3D is a high level API that eats memory like a Microsoft product
and don't have direct access to any lower stuff (it does work with
both Diret3D and OpenGL). I do intend to use a think OpenGL/Java
layer, it will require Java 2 though.
As soon as Qt 3 is available I will release a MagicLight that runs on
it.
I think that's it for now.
Mikael
Hi !
There isn't much going on at the moment, it's vaction time and the
weather is great...
Anyway, the raytracer that I have used with MagicLight so far is
nice, but it's pretty useless for any kind of serious animations, so
I am also working on a separate renderer that is much faster, both
will be available with MagicLight.
The new renderer is based in the REYES algorithm, same as the one
used by Pixar's PRMan renderer (Toy story and so on).
This is not a raytracer so it's more difficult to do realistic
refractions, reflections and shadows are done with environment
mapping and depth maps.
So the images will not look as good as a raytraced image (at least
not of there are lot's of reflections and refractions), but it is
much faster and pipelined so scenes of any sizes can be rendered, the
renderer only use up around 2-10MB ram and the amount of ram used has
nothing to do with the number of objected being renderered.
This also means that the rendering time is linear with the number of
objects, if you add more object this will not have any impact of the
rendering time of other objects, like what is usualy happeing when
the number of objects grow in a raytracer, the intersetion becomes
slower for all objects.
An object is loaded, rendered and then thrown away before the next
object is loaded.
The REYES rendering algorithm also makes it easy to implement
displacement shaders (pretty fast are they to).
So the result is a renderer much more suitable for animation I think,
it is far from finished, but so far it supports triangles meshes,
spheres, cylinders and nurbs surfaces (no trimming yet) and no CSG
support (except for meshes), displacement mapping is also working.
Mikael
Hi !
The main website is still:
http://home.bip.net/mikael_aronsson
But the bandwidth is a bit limitid on this one so the latest download is at:
http://magiclight.linuxatwork.at/index.html
And finally....;-)
http://w1.354.telia.com/~u35403069/
Sorry about the nasty url, but I had no choice....
This is the new one, I have more space here and it's very fast, as the url
is impossible to remember I don't think I will use it, I will just put the
files for download here and all the html files will be at the first two
urls.
Sorry about the mess, stick to any one of the first two, the next time I
update them they will have the same contents.
Mikael
----- Original Message -----
From: "Alex Magidow" <axiom@...>
To: <magiclight@yahoogroups.com>
Sent: Friday, July 06, 2001 11:44 PM
Subject: Re: [magiclight] B-rep modeling....
> whats the current(and updated) website these days?
> TIA,
> Alex Magidow
>
> mikael_aronsson@... wrote:
>
> > Hi again !
> >
> > I have decided to support both mesh and parametric modeling, the
> > first alpha only had booleans working on B-rep shapes, but this can
> > be slow with complex shapes, so I decided to support both mesh and
> > parametric shapes almost everywhere.
> >
> > Converting between parametric and mesh and back again is almost
> > invisible, of course converting a mesh back into a parametric shape
> > is not that useful, but then again who knows...
> >
> > But the parametric shapes are very neat, for example you can create
> > two spheres, set the tesselation low to make the rendering very fast,
> > then you can perform a boolean operation on these two spehere and the
> > tesselation of the result is independent on the resolution of the two
> > spheres as a parametric sphere is always 100% smooth.
> >
> > The B-rep tools also has some very nice functions for blending,
> > chamfer and local features like creation of extrustions, surface of
> > revolutions and others on the surface of an existing shape.
> >
> > As soon as Qt version 3 is available for Windows I will try to
> > compile it on MSVC, I don't expect any big problems so we should have
> > a Windows version working to if all goes well...
> >
> > Have a nice weekend.
> >
> > Mikael
> >
> >
> >
> > Your use of Yahoo! Groups is subject to
http://docs.yahoo.com/info/terms/
>
> --
> " Society exists to serve the social needs of people, not the
productivity
> needs of capital. Those two needs are in basic conflict - a conflict of
class
> interest."
> - David Bacon, journalist and labor activist
>
>
>
>
>
> Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/
>
>
whats the current(and updated) website these days?
TIA,
Alex Magidow
mikael_aronsson@... wrote:
> Hi again !
>
> I have decided to support both mesh and parametric modeling, the
> first alpha only had booleans working on B-rep shapes, but this can
> be slow with complex shapes, so I decided to support both mesh and
> parametric shapes almost everywhere.
>
> Converting between parametric and mesh and back again is almost
> invisible, of course converting a mesh back into a parametric shape
> is not that useful, but then again who knows...
>
> But the parametric shapes are very neat, for example you can create
> two spheres, set the tesselation low to make the rendering very fast,
> then you can perform a boolean operation on these two spehere and the
> tesselation of the result is independent on the resolution of the two
> spheres as a parametric sphere is always 100% smooth.
>
> The B-rep tools also has some very nice functions for blending,
> chamfer and local features like creation of extrustions, surface of
> revolutions and others on the surface of an existing shape.
>
> As soon as Qt version 3 is available for Windows I will try to
> compile it on MSVC, I don't expect any big problems so we should have
> a Windows version working to if all goes well...
>
> Have a nice weekend.
>
> Mikael
>
>
>
> Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/
--
" Society exists to serve the social needs of people, not the productivity
needs of capital. Those two needs are in basic conflict - a conflict of class
interest."
- David Bacon, journalist and labor activist
Hi again !
I have decided to support both mesh and parametric modeling, the
first alpha only had booleans working on B-rep shapes, but this can
be slow with complex shapes, so I decided to support both mesh and
parametric shapes almost everywhere.
Converting between parametric and mesh and back again is almost
invisible, of course converting a mesh back into a parametric shape
is not that useful, but then again who knows...
But the parametric shapes are very neat, for example you can create
two spheres, set the tesselation low to make the rendering very fast,
then you can perform a boolean operation on these two spehere and the
tesselation of the result is independent on the resolution of the two
spheres as a parametric sphere is always 100% smooth.
The B-rep tools also has some very nice functions for blending,
chamfer and local features like creation of extrustions, surface of
revolutions and others on the surface of an existing shape.
As soon as Qt version 3 is available for Windows I will try to
compile it on MSVC, I don't expect any big problems so we should have
a Windows version working to if all goes well...
Have a nice weekend.
Mikael
Hi again !
The mesh editor has now turned into a useful tool I think, there are
a few bugs to hunt down and it need a little optimization in a few
places, but I am pretty happy with it.
You can create new meshes from scratch or you can start modifing an
existing object, any object can be converted to a mesh at any time.
You can create triangles, convex polygons or complex polygons
(concave or with holes).
At render time everything is converted to triangles, this may also
happen when you apply modifiers to make sure that all faces are
planar.
To make creation of complex polygons easy I have added a polygon
construction plane, this is just a 50% transaprent quad that can be
sized and transformed any way you want (including automatic alignment
to an existing plane), then you can create polygons by simple
clicking in the viewport, the vertices are create at the intersection
point between the mouse cursor and the construction plane, I know it
sounds messy, but it is very neat to use I think. there will be a few
screenshots up soon to show it.
The nurbs editor has also been omproved a lot, there are lots of new
tools for sewing, projection, aligment and other stuff.
Mikael
Hi !
I had to modify the source code a bit to make it work on Qt 3 (still
beta), and also a few things to get it to compile on gcc 2.96, I do
expect it to compile on gcc 3 also but I have not tried it yet.
I ahev to make a few things to get it to compile on the Windows
version of Qt, temporary files and things like that are different on
Windows.
New stuff...
Lots of support for mesh objects, complete with editor and so on.
More support for parametric objects, much better blending and chamfer
support.
You can now also edit and create parametric objects, even though it's
not 100% complete yet.
I have made some major changes and additions to the PovRay export
code, and it look's like it's working now.... ;o)
The 32 level depth on the scene graph has been removed.
Occlusion culling for large scenes.
I am also working on faster rendering, sorting by state changes.
Motion blur is now supported in MagicLight (was already in the
raytracer before).
Much faster scene graph update (a cache is used to minimize changes).
More nurbs support stuff
Free form deformation is back again and working.
I have fixed something like 1.264.833 bugs or so and expect to find
some more...
The manual is growing into something pretty godd, and a tutorial is
up the road to...
And no there is no new version for download just yet, no promise
about date either, I am very busy with other stuff to...
Mikael
Hi !
I just wanted to notify you all that Qt is now available free for Windows
to...., you will not get any source code and a few other things, but nothing
nasty as far as I can tell, this should make it pretty simple to get
MagicLight running on Windows to...
http://www.trolltech.com
Mikael
Hi !
At last I have a good internet connection (ok it just 512kb, but it's
much better then a modem), I also have a much better ftp site so I
will move all the links for downloading and so on the the new ftp
site, but the web pages will remain where they are at the moment.
As usual I have been very busy the last two month so I have not been
able to do much work on MagicLight but it look's like I am getting
some time over the next few week's or so.
Mikael
Hi !
My ISP have problems with their server so my home page may not work,
there has been problems all weekend, it should be fixed soon (they
say).
Sorry about that.
Mikael
hi
big download but worth it , great work
do you think it will ever be able to export to dx
regards, dave
----- Original Message -----
From: <mikael_aronsson@...>
To: <magiclight@yahoogroups.com>
Sent: Saturday, February 17, 2001 6:47 PM
Subject: [magiclight] Windows modeler
> Hi !
>
> If you are interested in a free modeler for Windows, then have a peek
> at:
>
> http://openfx.org/news/index.php
>
> Mikael
>
>
>
>
>
>
>
>
Hi !
I have just poked around a little bit with it, but you are right, the user
interface is not that good, at least it is possible to use it...... (with
blender, well I have tried it a few times now and I still can't do anything
useful with it, I guess I would have to order a manual before I figure out
how it works) and it would be nice if it OpenFX was a bit smaller, it look's
like there is lots of crap included that would be better left out.
But besides that it looks very impressive, it has all kinds of neat stuff,
but it look's like it has lots of problems on Windows95/98, lots of nice
crashes and so on. at least as it looks on the mailing list.
Mikael
----- Original Message -----
From: "Alex Magidow" <axiom@...>
To: <magiclight@yahoogroups.com>
Sent: Sunday, February 18, 2001 12:41 AM
Subject: Re: [magiclight] Windows modeler
> I actually have had a peek- the problem with this one is that its
overloaded
> with...stuff. The interface isn't terribly good, either(not blender bad,
but
> still pretty shakey). And its, at minimum, a 20 meg download. Anyway, just
> my quick thoughts on the matter.
>
>
> mikael_aronsson@... wrote:
>
> > Hi !
> >
> > If you are interested in a free modeler for Windows, then have a peek
> > at:
> >
> > http://openfx.org/news/index.php
> >
> > Mikael
> >
>
> --
> " It has been true all through history, the way you get a small group of
> people to be very rich is by getting a lot of other people to be very
poor.
> "
> - Michael Parenti, political scientist and author
>
>
>
>
>
>
I actually have had a peek- the problem with this one is that its overloaded
with...stuff. The interface isn't terribly good, either(not blender bad, but
still pretty shakey). And its, at minimum, a 20 meg download. Anyway, just
my quick thoughts on the matter.
mikael_aronsson@... wrote:
> Hi !
>
> If you are interested in a free modeler for Windows, then have a peek
> at:
>
> http://openfx.org/news/index.php
>
> Mikael
>
--
" It has been true all through history, the way you get a small group of
people to be very rich is by getting a lot of other people to be very poor.
"
- Michael Parenti, political scientist and author
Hi !
I hope you all had a nice xmas and new year, I have been a bit busy
in January, lots of work to do, but I am back working with MagicLight
again now, I give you more details later on.
Mikael
Hi !
Sorry, I have not had the time to put up the tutorial at the website
yet, but in the mean time, here is a short one to get you started.
Right click in the tree hierarchy to create a new object, composite
objects can contain any number of child objects.
Click on an object to select it, and hold down SHIFT to select
multiple objects.
Below the tree you have the different property windows (selection,
modifiers and material + system settings)
Modify the properties and click on apply to change an object.
The three arrow thing at the lower right in the modeling windows is
the camera navigator, drag one of the arrows to move the camera
location, right click on the yellow selection box to change mode, you
can move camera, move target, change up direction and zoom.
When you have selected any objects you will have a similar navigator
in the lower left corner, but this one modifies the selected objects
but work in the same way, you can move, scale and rotate objects.
A selected object also has a number of "handles" you can use these to
do scaling also.
Almost everything in the modeling have tooltips, use them to find out
what happens, just put the mouse cursor over a handle and read the
tip.
There are a lot of primitives available, curves, polylines, sphere,
box, cylinder, cone, torus, wedge and so on, only sphere and box are
more or less complete, you may have problems with the other ones.
Each object has a number of properties that are common to all
objects, these are:
visible - show or hide object
locked - is object can be selected
layer - the layer for the object
smooth - if the tesselation should include vertex normals
back - show backfacing triangles
sub division - subdivide triangles down to a set threashold
filter - here you can filter out triangles, for example to open up a
box on one or more sides.
To do more comples shapes you use the builder object, this works in
the same way as a composite, it can have a number of child objects.
For example, to create an extrusion of a curve:
Create a builder object and add a curvew or polyline to it, the
select the builder object and choose "prism/extrusion" in the
operation combobox.
Same thing for boolean operations, add two shapes to the builder
object and select the boolean operation to use.
Some operation works on vertices, edges, wires or faces, for example
the blend operation.
Select the "edge" wireframe mode in the combobox in the toolbar and
right click on the edge to blend, select blend and radius of blend.
You can also do the same thing with all edges, just select "blend" in
the operation combobox.
Well, that's a short indtroduction to it, if you try it out and have
problems, just send an email and I will help out.
Mikael
Hi, it's just me again.... :o)
There has been some discussions abot C++ the last few days...
I would like to have MagicLight as portable as possible, and I do not
have much experience of C++ on non Intel platforms.
If you are running Linux on anything else then Intel or if you are
running any other UNIX I would be most grateful for any input on
problems you have compiling C++ code.
Does your C++ compiler support templates, namespaces, STL and so on,
this would help me to avoid using things that are less portable.
Mikael
Hi again !
I just wanted to point out that the binary for MagicLight is compiled
with gcc 2.95.2 so it will NOT work with RedHat 7, if you have that
one, then you need to compile the source by yourself.
Mikael
Hi !
Ok, if any one is interested the source code and binaries are
available at:
//http://magiclight.linuxatwork.at/index.html
Just click on the "download" link
The binaries are compiled on a RedHat 6.1 using gcc 2.95.2 and Qt
2.2.2, I use an old NVIDA TNT2 OpenGL driver, but it should work fine
with Mesa (if you have an older Mesa you need to create links to
libGL and libGLU, these are called libMesaGL and libMesaGLU on older
versions of Mesa).
A short tutorial will be available soon.
Mikael