Commit Graph

150077 Commits

Author SHA1 Message Date
Ton Roosendaal
d8955d1b33 - Recursive environment map render
Multiple environments now can be rendered in one pass. Previously the other objects with environment maps didn't show up in a reflection. Like this:
http://www.blender.org/bf/dep.jpg

By default, Blender renders now this result:
http://www.blender.org/bf/dep0.jpg

For a further 'recursive ray-tracing effect' you can give each EnvMap texture a higher "Depth" value. Here is a result with depth set at '2':
http://www.blender.org/bf/dep2.jpg

Related new options:
- in (F10) DisplayButtons, environment map rendering can be turned on and off.
- in EnvMap texture buttons you can free all environment maps
- Environment map sizes are also reduced with the (F10) 'percentage' option.

Tech note: with this commit the VlakRen struct has on *ob pointer!
2003-09-23 21:05:51 +00:00
Willian Padovani Germano
63e7c3e077 Exppython:
- Object.c: forgot to initialize an object->data pointer to NULL in Object_New
2003-09-23 03:02:54 +00:00
Ton Roosendaal
d72fe1af41 - fixed stringlength for plugin path button, max 160 chars now. 2003-09-22 11:44:36 +00:00
Roel Spruit
b5450f0815 added 2 new features:
- "Seperate loose parts" is an option in the new pkey popup (in mesh editmode) that seperates a mesh based on objects in it that are not connected.

- "Select same uv" is an option in the wkey popup (in facemode) that selects all faces in the mesh that have the same uv texture assigned as the current active face.

ps. first commit! I hope I can live up to expectations...but don't expect too much! :D
2003-09-20 20:58:14 +00:00
Willian Padovani Germano
c0303d78b4 Exppython:
- Object: implemented getBoundBox and makeDisplayList methods
- NMesh and Object: small internal changes for nicer behavior
- Draw: added function PupMenu
- Docs: updated for the additions above
Auto build tiny fix: added the imbuf include dir to source/creator/Makefile.am
2003-09-20 03:40:16 +00:00
Rob Haarsma
7a510b7240 added missing #ifdef for quicktime_exit 2003-09-18 12:27:43 +00:00
Rob Haarsma
99efb0cc3c removed native quicktime init/exit calls from main blender code. 2003-09-18 11:41:50 +00:00
Willian Padovani Germano
775f006bf1 Exppython:
- Window: implemented .SetCursorPos, .GetViewMatrix, .GetViewVector
- Lamp: .setDist was not in the methods table:
    Fix by new bpython developer Stephen Swaney
- Scene: .frameSettings was crashing Blender (pointed by jms)
- Added site dirs to sys.path (patch by Stephen Swaney)
- NMesh: small internal change (added pointer to parent object)
- Object: function NMesh_FromPyObject has a new arg: pointer to obj
- Docs: added docs for implemented functions, plus some more info
2003-09-18 00:54:43 +00:00
Michel Selten
da773eee18 * Fix bug in Object.getEuler() and Object.setEuler() methods
I must have been looking outside when writing those functions :) They
  accessed the dloc values instead of the loc values. Doh
* Minor cleanup in Object.h
2003-09-17 18:15:51 +00:00
Ton Roosendaal
86409f2da6 - bug #500
extreme wide spotbundles cannot be rendered correctly (180 degrees).
  the bundle value is clipped at 170 degree in renderconverter.
2003-09-17 11:39:55 +00:00
Ton Roosendaal
de2b6cc89f - fix bug 496
when you choose a window with no header, go to 'full window mode',
  sometimes the header was still drawn. fixed it with a more strict
  test in the drawing call.
2003-09-17 11:22:21 +00:00
Ton Roosendaal
bcd01942d8 - bugfix #492
"Waste cpu while rotating view"
  I added a tiny idle in the 'wait_for_statechanged' call, I suspect
  ghostwinlay returns events while holding mousebutton...
2003-09-17 11:05:33 +00:00
Ton Roosendaal
c01d06df3c - fixed display of dashed helpline, when rotating multiple objects or
around the 3d cursor.
  fix only works for OSX and certain nvidia cards. they need a glFinish()
  call after drawing in frontbuffer.
2003-09-17 10:23:53 +00:00
Michel Selten
357b070120 * Fix bug #390 - auto/gcc compile fails on irix:openal
OpenAL is now a configurable option again. The trick was to update the
  SND_DependKludge not to #define/#undef anything when the auto* tools are
  used.
2003-09-16 19:28:29 +00:00
Simon Clitherow
b6daf5d171 - updated projectfile with new registry.c/h files. (MSVC 6) 2003-09-12 19:56:49 +00:00
Alexander Ewering
c397e66bed On popular request, I made the "Sync" button (correct realtime
synchronization (framedrop) in ALT-A and synchronization to audio strips)
off by default when loading old .blend files or old ~/.B.blends.

This, however, makes the audio sequencer unusable by default, ALT-A will
not show realtime on complex scenes, and the "Frs/sec" value will be
ignored.
2003-09-11 19:08:45 +00:00
Jacques Guignot
dd2551661a removed an useful #include which caused a compilation error 2003-09-10 19:47:05 +00:00
Alexander Ewering
8780ef0975 The "extrude" operation now automatically sets newly created faces "smooth",
based on the assumption that if any of the faces attached to any of the
edges that have been extruded were "smooth", the result should also be.
(There is no other way to detect this, as edges don't have a "smooth" flag :-))
2003-09-10 16:26:21 +00:00
Alexander Ewering
4646b046b6 Finally, the "Emulate 3 buttons" button in the userprefs actually
*does* turn ALT-LEFTMOUSE emulation on and off :)
2003-09-10 02:46:22 +00:00
Rob Haarsma
422f4faa1b moved Quicktime init function from creator.c 2003-09-09 21:26:34 +00:00
Jiri Hnidek
5572323a3a - added czech translation (cs.po)
- changed function drawcircball() in source/blender/src/drawobject.c. Circle is computed faster (no 32 calls of sin() and cos() each time witch same results).
2003-09-08 12:13:54 +00:00
Jiri Hnidek
5d2f98f440 - improved polygonization (linear interpolation) of Implicit Surfaces (Meta)
- added new MetaElem types (plane, elipsoid and cube) old TubeX, TubeY and TubeZ will not be supported
- new buttons in Edit button window (dx, dy, dz)
- added new items into the headers menu and toolbox menu

more details at: http://blender.webpark.cz
2003-09-05 13:54:22 +00:00
Willian Padovani Germano
a09e5a7f2f Exppython:
- Window: added .GetCursorPos()
- Lamp: updated for NoDiffuse and NoSpecular modes
- Registry: new module to handle persistent data
- vector: made it correctly print only 3 values when vec->size==3:
    Fixes nmvert coords printed with a 4th 0.0 coordinate
- Text: fixed crash on startup (Python 2.3, linux):
    added definition of the Text pyobject earlier, in Types.c
2003-09-03 04:13:08 +00:00
Willian Padovani Germano
65746ab10a Exppython:
- Updated two doc files
2003-09-03 04:04:17 +00:00
Jacques Guignot
bb824b08b7 function PyArgsParse changed for PyArgsParseTuple by Stephen ( not so that sure...) 2003-09-02 20:13:43 +00:00
Jacques Guignot
679a44d2c6 Modification of the GetControlPoint function by Stephen, who is now responsible for this module
slight bug fixes (Steph.)
2003-09-02 20:11:11 +00:00
Ton Roosendaal
bdaa5eaad6 - fixed crash when you render a scene without emit Material and
new Radio render on.
  crash happened after redraw in 3d window.
2003-09-02 19:32:48 +00:00
Simon Clitherow
5cc50a7b60 - added /debug to the libpath of guardedalloc in makesdna. Pointed out
by Maci_Ray (thanks!).
-  updated project files with radiosity changes.
2003-09-01 18:21:17 +00:00
Ton Roosendaal
470b5c0366 So, for the platform managers to check:
- the link order for Blender has changed, the libradiosity.a has to be moved after the librender.a (obviously for a new dependency!). Check blender/source/Makefile
- there's a new file: blender/source/radiosity/intern/source/radrender.c

Here's what the new code does:

Using the core routines of the Radiosity tool, each renderface with 'emit material' and each renderface with 'radio material flag' set will be used to itterate to a global illumination solution. Per face with high energy (emit) little images are rendered (hemicubes) which makes up lookup tables to 'shoot' its energy to other faces.
In the end this energy - color - then is directly added to the pixel colors while rendering, Gouraud shaded.
Since it's done with renderfaces, it works for all primitives in Blender.

What is doesn't do yet:
- take into account textured color of faces. Currently it uses the material RGB color for filtering distributed energy.
- do some smart pre-subdividing. I don't know yet if this is useful... Right now it means that you'll have to balance the models yourself, to deliver small faces where you want a high accuracy for shadowing.
- unified render (is at my todo list)

User notes:
- per Material you want to have included in radiosity render: set the 'radio' flag. For newly added Materials it is ON by default now.
- the Ambient slider in Material controls the amount of radiosity color.
- for enabling radiosity rendering, set the F10 "Radio" button.
- the Radiosity buttons now only show the relevant radiosity rendering options. Pressing "collect meshes" will show all buttons again.
- for meshes, the faces who use Radio material always call the 'autosmooth' routine, this to make sure sharp angles (like corners in a room) do not have shared vertices. For some smooth models (like the raptor example) you might increase the standard smoothing angle from 30 to 45 degree.

Technical notes:
- I had to expand the renderface and rendervertices for it... shame on me! Faces have one pointer extra, render vertices four floats...
- The size of the hemicubes is now based at the boundbox of the entire scene (0.002 of it). This should be more reliable... to be done
- I fixed a bug in radiosity render, where sometimes backfaces where lit

In general:
I'd like everyone to play a bit with this system. It's not easy to get good results with it. A simple "hit and go" isn't there... maybe some good suggestions?
2003-08-31 20:33:46 +00:00
Michel Selten
b64b5d7b63 * Fix crash when linking something illegal to an Object.
Pointed out and fixed by Stephen Swaney
2003-08-27 18:10:59 +00:00
Ton Roosendaal
dbed089835 - text provided by Gregor Mueckl
describes the MEM_mallocN and MEM_callocN api
2003-08-27 17:46:59 +00:00
Chris Want
b92e99d0a8 In ODE, a dVector3 is really a 4D array ... the 3D initialization
used in this file caused the MipsPro 7.4 compiler to choke
... please test on all platforms!
2003-08-23 19:09:52 +00:00
Ton Roosendaal
25268cbf3b - Bisschofftep's improvements of tooltips text.
in editmesh three error menus were made more clear.
2003-08-21 12:49:28 +00:00
Ton Roosendaal
2e39d1f137 - a control-s character accidentally inserted here... but how? 2003-08-17 17:59:03 +00:00
Alexander Ewering
4005e5859a - Duplicated both the "Sync" button (from Sound buttons) and the "Frs/Sec"
button (from the Render buttons) in the Anim Buttons (F7) for more
  clarity.

- Removed old 'AnimSpeed' option
2003-08-17 16:00:37 +00:00
Ton Roosendaal
0b2d2868f1 - fixed bug #448
now 'only shadow' lamps won't give light when rendering without shadows.
2003-08-17 15:57:12 +00:00
Ton Roosendaal
af395ada12 - fix bug #479
crash when deleting all curves from Curve Object, when EditButtons open.
  Bad memory reference, caused by using an unsupported feature in
  interface.c... fixed by not using that feature! (making buttons with NULL
  pointers)
2003-08-17 13:42:50 +00:00
Ton Roosendaal
3a6581ca22 - fix bug #480
SHIFT+C in 3dWindow didnt update the other 3d windows, when open.
2003-08-17 13:02:17 +00:00
Ton Roosendaal
29edbab2c9 - fix bug #481
when adding a new scene in a Screen without buttons window, a pointer
  was referenced which is zero
2003-08-17 12:56:41 +00:00
Stefan Gartner
17eac8a60c allow NAN_SDL etc. to be overridden on OS X 2003-08-16 22:28:19 +00:00
Chris Want
15c996b471 Making Hans' mods to sdl in nan_definition.mk work under irix. 2003-08-16 20:16:40 +00:00
Hans Lambermont
9d9ee107c3 SDL definitions cleanup and fix for FreeBSD (FreeBSD SDL ports
maintainers really *really* only want to use sdl11-config while not
offering sdl-config as well ...)
This patch was briefly discussed on -committers but still might break
SDL stuff.
2003-08-16 11:28:51 +00:00
Ton Roosendaal
85245bfe13 - make sure shadowbuffers are tested & corrected for sizes that are
multiples of 16 pixels
2003-08-15 14:39:08 +00:00
Kent Mein
abede3ca04 A little more cleanup, removed a bunch of unused vars in the code.
Trying to get rid of some of the extra warnings we can ignore ;)

Kent
2003-08-14 15:18:45 +00:00
Simon Clitherow
80f3d5863e - Transition period for Windows... Part 2! :) 2003-08-12 20:37:45 +00:00
Simon Clitherow
776374f38b - Transition period for Windows... Ctrl+U now saves in
~/.blender, but we still check old locations to avoid people from
  losing settings! :)

  This does not affect any other platform.
2003-08-12 20:37:14 +00:00
Ton Roosendaal
6ef8d0a0ee release number is 2.28a 2003-08-12 17:43:50 +00:00
Simon Clitherow
258bc61e2a - Fix bug #250:
Blender no longer uses the windows dir as %HOME%
  This also fixes the ".blanguage not found" errors when
  double-clicking .blend files. (Win32)

  Needs testing at Win2k/XP!!!
2003-08-11 18:53:23 +00:00
Ton Roosendaal
159f53f0a0 - increased toon value 'size' to 3.14 for diff, and 1.53 for spec, as in
tuhopuu (as max for buttons)
- Sun lamps now do toon specularity too

Hemi lamps dont do any other shader than the old ones still... the
implimentation of it in Tuhopuu is disputable, will solve this for 2.29
2003-08-11 18:18:11 +00:00
Willian Padovani Germano
2289f3abb6 Exppython:
- Adding argv to the builtin sys Python module:
    Currently only argv[0] is there.  This fixes a weird error that can make
    correct scripts fail.
2003-08-10 23:18:00 +00:00