Commit Graph

129 Commits

Author SHA1 Message Date
Diego Borghetti
7d812822bd Stamp info back only for float buffer. (next commit add unsigned char).
A couple of new functions:
	BLF_width_and_height	- Merge of BLF_width and BLF_height in one call to avoid freetype2 stuff.
	BLF_buffer		- Set the buffer, size and number of channel.
	BLF_buffer_col		- Set the text color (the alpha is not used right now).
	BLF_draw_buffer		- Draw the text in the current buffer.

Also tweak a little the boundbox and draw function to avoid access the freetype2 and use the cache info.
By default the font size is 12, the UI still need work to allow change the font and size.
2009-08-18 19:26:53 +00:00
Brecht Van Lommel
756488fbe2 2.5: Painting
Various fixes for painting, sculpting and particle edit, still
much to be done...

* Move RNA paint and sculpt structs into rna_sculpt_paint.c,
* Added Particle Edit RNA.
* Some tweaks to existing Paint RNA.

* Put texture paint and particle edit object in context.

* Fix some errors in the brush layout, properly doing None
  checks, fixing some wrong property identifiers.
* Added tool enum for texture paint and particle edit in panels.

* Allow editing brush textures in the texture buttons, still with
  a stupid toggle, ideas for how to make the connection better are
  welcome.
2009-07-25 22:31:02 +00:00
Brecht Van Lommel
41fb3626f3 2.5: Render
* UI layout for scene buttons has quite some changes, I tried to
  better organize things according to the pipeline, and also showing
  important properties by default, and collapsing less important ones.

Some changes compared to 2.4x:
* Panorama is now a Camera property.
* Sequence and Compositing are now enabled by default, but will only
  do something when there is a node tree using nodes, or a strip in the
  sequence editor.
* Enabling Full Sample now automatically enables Save Buffers too.
* Stamp option to include info in file is removed, it now simply always
  does this if one of the stamp infos is enabled.
* Xvid, H.264 and Ogg Theora are now directly in the file format menu,
  but still using FFMPEG. Unfortunately Ogg is broken at the moment
  (also in 2.4x), so that's disabled. And Xvid crashes on 64bit linux,
  maybe solvable by upgrading extern/xvidcore/, using ubuntu libs makes
  it work.
* Organized file format menu by image/movie types.

Added:
* Render layers RNA wrapped, operatorized, layouted.
* FFMPEG format/codec options are now working.

Defaults changed:
* Compositing & Sequencer enabled.
* Tiles set to 8x8.
* Time/Date/Frame/Scene/Camera/Filename enabled for stamp.
2009-07-13 19:09:13 +00:00
Ton Roosendaal
3bf0400a69 2.5
Render usability:

- Option back to render to imagewindow, or fullscreen.
  The latter is default. Setting is stored in Scene.
- Added button in output panel, the option "to new window" will follow!
- F11 again toggles render view
  (moved MS Windows "full screen" to shift+F11 for now)
2009-07-10 16:55:49 +00:00
Brecht Van Lommel
37864a4273 2.5
Image Window
* Unpack operator now works.
* Some small layout code tweaks.

Info Window Header
* Moved to python UI code.
* template_running_jobs, template_operator_search added.
* Ported external data operators: pack/unpack all, make
  paths relative/absolute, find/report missing files.

Also
* Report RPT_INFO too, not only warnings and errors.
* Run UI handle functions after RNA and Operators.
* Rename particle system add/remove operators, to not
  include "slot", that's only there for materials because
  that's what they are called now in RNA.
2009-06-30 19:20:45 +00:00
Ton Roosendaal
6998a0f47b 2.5
Bugfixes:

- Preview Icon for render result crashed, there was still need for a scene
  pointer to be passed on.

- Added quick fix for preventing shaded drawmode to call render while
  rendering is in progress. It crashes badly.
  Rendering while UI is alive is still in probation, most UI stuff will
  probably get blocked, with exception from inspecting buttons and using
  the image window.
2009-06-28 09:35:37 +00:00
Brecht Van Lommel
c8b4cf9206 2.50:
svn merge https://svn.blender.org/svnroot/bf-blender/trunk/blender -r19820:HEAD

Notes:
* Game and sequencer RNA, and sequencer header are now out of date
  a bit after changes in trunk.
* I didn't know how to port these bugfixes, most likely they are
  not needed anymore.
  * Fix "duplicate strip" always increase the user count for ipo.
  * IPO pinning on sequencer strips was lost during Undo.
2009-06-08 20:08:19 +00:00
Diego Borghetti
405cf80eb8 Big, big commit!!
1) Remove WITH_FREETYPE2 from code, so now blender always need freetype2
2) Remove the old bmfont
3) Remove ftfont and bFTGL library
4) Implement a new BLF_draw_default function for place that still need/use
   the old BMF api.

I try to update both, scons and cmake, but I only can test with make, so
hope all work fine.

MSVC is broken, but I don't have Windows, things to search and fix are
any reference to WITH_FREETYPE2, FTGL and BMFONT (take in care that
blenkernel also have a BKE_bmfont.h, this don't have anything to do with bmfont).
        Always have to link/include the freetype2 library
        Remove any reference to libbmfont
        Remove any reference to libftfont
        Remove any reference to libbftgl (or libbFTGL)
2009-05-05 23:10:32 +00:00
Ton Roosendaal
fc070ca31c 2.5
Bugfix in compositor: code that duplicated the nodetree and merged
viewer images back lacked handling the case when a viewer was not
set active yet.

This fixes eternal loops in compositor after removing Viewers.
2009-02-25 09:54:41 +00:00
Ton Roosendaal
f377be3783 2.5
Assorted smaller fixes:

- Fix: modal keymaps for editmode in view3d were not set again
  when you copy areas or go fullscreen.

- Improved "redo last op" (F6) to search back in history for
  a redoable operator. Operator also used wrong pupmenu type.

- On creating new FCurve editor, the channel rainbow colors are
  set correct.

- EditMesh: fixed code for Spin/Screw, correct props, init and
  error reporting. (Spin hotkey ALT+R temporary)

- recompiled all to check for uninitialized variable warnings.
  (compile flag should be -O for this). Fixed some proto's.
2009-02-19 16:22:07 +00:00
Ton Roosendaal
66698e9d71 2.5
Cleanup of saving code for Image window.

Little extra: added poll() check for buttons, greying out inactive
menu items or buttons. You can see it work in Image menu.
(Item 'save image' is grey when it wasn't saved, then you have to
use the 'save as' item).

Carefully designing poll checks is worth a trial once. :)
Do note that cpu time for polls should be totally minimal.
2009-02-18 18:08:33 +00:00
Ton Roosendaal
e1b92bc166 2.5
Safe method to move render results to the displayed image.

It now allocates a single image for display, and on each
refresh callback from render, it copies the refreshed 
section over to this image, in 32 bits. While rendering
that image then only shows progress updates, as usual.
This also now works for scenes in composte and results
for composite.

This should solve reported crashes for MBlur or SSS.
2009-02-05 19:28:28 +00:00
Ton Roosendaal
764168d62a 2.5
Added support in threaded compositor to copy the viewer
image safely away, prevents crashing especially for
people using blender -E or redrawing viewer while it
composites.

(Note; reloading images in nodes, render result, and
probably other cases have to be checked still)
2009-01-27 19:32:44 +00:00
Brecht Van Lommel
8762737400 2.50: svn merge https://svn.blender.org/svnroot/bf-blender/trunk/blender -r17853:HEAD 2009-01-26 08:34:40 +00:00
Campbell Barton
55150edc92 [#18164] jpeg2000 patch, with some fixes from Peter too.
Support for jpeg2000 and writing DCI Cinema standard files.

Notes
* 12 and 16bit channel depths are converted from/to blenders float buffer.
* Grayscale/RGB with alpha supported.
* Theres an option to save color channels as YCC rather then RGB.
* Quality 100 saves lossless
* The UI is a bit weired because of the DCI standards need to be given to the encoder.
2009-01-23 21:08:01 +00:00
Nathan Letwory
9e7643aa7c 2.5 / Cleanup
- remove Verse support. This will be brought back in The Future (probably jiri + me)
  This means 5k lines less in blenkernel.
- fix two small errors for global cleanup, now compiles properly with FFMPEG enabled too.
2009-01-04 18:16:34 +00:00
Ton Roosendaal
f7cb86df3a 2.5
Think global, act local!

The old favorite G.scene gone! Man... that took almost 2 days.
Also removed G.curscreen and G.edbo.

Not everything could get solved; here's some notes.
- modifiers now store current scene in ModifierData. This is not
  meant for permanent, but it can probably stick there until we
  cleaned the anim system and depsgraph to cope better with
  timing issues.
- Game engine G.scene should become an argument for staring it.
  Didn't solve this yet.
- Texture nodes should get scene cfra, but the current implementation
  is too tightly wrapped to do it easily.
2009-01-04 14:14:06 +00:00
Brecht Van Lommel
e4b20f0180 2.5: various warning fixes. There was one actual bug in a few different
places, using sprintf with strings like ID names as the format string
(note that this name can contain a % character).
2008-12-26 14:19:25 +00:00
Brecht Van Lommel
bdfe7d89e2 Merge of trunk into blender 2.5:
svn merge https://svn.blender.org/svnroot/bf-blender/trunk/blender -r12987:17416

Issues:
* GHOST/X11 had conflicting changes. Some code was added in 2.5, which was
  later added in trunk also, but reverted partially, specifically revision
  16683. I have left out this reversion in the 2.5 branch since I think it is
  needed there.
  http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=16683
* Scons had various conflicting changes, I decided to go with trunk version
  for everything except priorities and some library renaming.
* In creator.c, there were various fixes and fixes for fixes related to the -w
  -W and -p options. In 2.5 -w and -W is not coded yet, and -p is done
  differently. Since this is changed so much, and I don't think those fixes
  would be needed in 2.5, I've left them out.
* Also in creator.c: there was code for a python bugfix where the screen was not
  initialized when running with -P. The code that initializes the screen there
  I had to disable, that can't work in 2.5 anymore but left it commented as a
  reminder.

Further I had to disable some new function calls. using src/ and python/, as
was done already in this branch, disabled function calls:
* bpath.c: error reporting
* BME_conversions.c: editmesh conversion functions.
* SHD_dynamic: disabled almost completely, there is no python/.
* KX_PythonInit.cpp and Ketsji/ build files: Mathutils is not there, disabled.
* text.c: clipboard copy call.
* object.c: OB_SUPPORT_MATERIAL.
* DerivedMesh.c and subsurf_ccg, stipple_quarttone.

Still to be done:
* Go over files and functions that were moved to a different location but could
  still use changes that were done in trunk.
2008-11-12 21:16:53 +00:00
Ton Roosendaal
63fb586496 Bugfix #17778
COmpositor: Multilayer images in Image input node could crash on 
making icon previews for the browse menu.
2008-10-08 16:50:06 +00:00
Campbell Barton
2a331067cc resolve some compiler warnings with intel c/c++ compiler
* subsurf code had a lot of unused variables, removed these where they are obviously not needed. commented if they could be useful later.
* some variables declorations hide existing variables (many of these left), but fixed some that could cause confusion.
* removed unused vars
* obscure python memory leak with colorband.
* make_sample_tables had a loop running wasnt used.
* if 0'd functions in arithb.c that are not used yet.
* made many functions static
2008-09-29 17:08:11 +00:00
Brecht Van Lommel
cb89decfdc Merge of first part of changes from the apricot branch, especially
the features that are needed to run the game. Compile tested with
scons, make, but not cmake, that seems to have an issue not related
to these changes. The changes include:

* GLSL support in the viewport and game engine, enable in the game
  menu in textured draw mode.
* Synced and merged part of the duplicated blender and gameengine/
  gameplayer drawing code.
* Further refactoring of game engine drawing code, especially mesh
  storage changed a lot.
* Optimizations in game engine armatures to avoid recomputations.
* A python function to get the framerate estimate in game.

* An option take object color into account in materials.
* An option to restrict shadow casters to a lamp's layers.
* Increase from 10 to 18 texture slots for materials, lamps, word.
  An extra texture slot shows up once the last slot is used.

* Memory limit for undo, not enabled by default yet because it
  needs the .B.blend to be changed.
* Multiple undo for image painting.

* An offset for dupligroups, so not all objects in a group have to
  be at the origin.
2008-09-04 20:51:28 +00:00
Daniel Genrich
1f46aaa547 Win64: forget include 2008-08-17 17:12:10 +00:00
Daniel Genrich
fd0072e77c Win64: please check my changes if you ran across them ;) But should be fine since no additional crashes were reported! 2008-08-17 17:08:00 +00:00
Ton Roosendaal
1df2701fd7 Bugfix #16669
The Image "do premul" option didn't work when Image was of type Sequence.
(Note: this option converts key-alpha images to premul, as is standard
in Blender rendering)
2008-07-06 13:52:17 +00:00
Ton Roosendaal
79f858b795 Bugfix #17139
When "image type" is a movie, image file saving falls back to jpg as a 
default. The code checking extensions didn't correctly include quicktime.
2008-07-06 09:21:39 +00:00
Kent Mein
cef2867fef Make it so it accepts blah.tiff as a filename not just blah.tif
This is for bug [#15132] When saving a render .tif is appended to the saved 
	file even if the name contains .tiff

Kent
2008-06-26 16:42:20 +00:00
Joshua Leung
bb6c67cc73 Bugfix #11717:
Rendering (Internal/OGL) would crash when StampInfo was on and adding info about the active camera, if there was no camera in the scene.
2008-05-17 00:35:30 +00:00
Brecht Van Lommel
f44c22e69c Fix for bug #11128: render window shows undithered image. 2008-05-12 17:41:03 +00:00
Campbell Barton
110f927c63 Changed frame numbering to only alter hashes if they are in the filename (not the directory name) to fix bug [#10566] File Open Dialog replaces '#' with '0' in directory names.
removed frame numbering from BLI_convertstringcode into its own function (BLI_convertstringframe), many uses of BLI_convertstringcode were passing dummy frames values anyway.
in cases where adding the current frame number to a filename is needed run BLI_convertstringframe(...) after BLI_convertstringcode(...)

There are some cases Im not sure BLI_convertstringframe is needed, these have been commented as todo, but at least have the same functionality they used to.
2008-05-04 09:41:15 +00:00
Brecht Van Lommel
082b706e8d Fix for bug #8865: on mac os x, with certain processors (I'm guessing
Intel Xeon only), doing a lot of mutex locking is really slow. Getting
the image  buffer for each texture read then made using more threads
actually slow down the render. Now I've split up the function in two
parts, one parts that checks if the image is available, and another
that does a mutex lock and loading if needed.

Changes quite a lot of code, so hopefully doesn't break stuff, but it
seemed to survive test with rendering a number of frames using all
image types and many threads, though this kind of threading problem
only happens once in a while .. so hard to test for.
2008-04-28 20:57:03 +00:00
Campbell Barton
db18b47be5 fix for own error when trying to fix python command line crash,
was calling screenmain() before executing the python script which meant it was never executed (therefore no crash :) )

Moved screenmain() back to the the end of main() and added a TESTBASELIB_BGMODE which checks for G.vd and uses the scene layer if its not there. Of course python should not be running stuff that uses G.vd :/

Also made python scripts stay attached to screens when LOAD UI is disabled. This means you can load a new blend file and the python console can stay open, has been tested for a while in the apricot branch.
2008-04-27 11:37:57 +00:00
Campbell Barton
f057a38e98 Changed BLI_convertstringcode to replace any number of hashes with the frame number.
somefile_##.png -> somefile_01.png
somefile_########-image.png -> somefile_00000001-image.png

Before, A hash at the end of the string would be replaced by a number with 4 characters. This is still default if no #'s are in the string, so nothing has changed.

To use this function from the python api use scene.render.getFrameFilename()
2008-04-11 15:47:21 +00:00
Brecht Van Lommel
0ec0f2a02f Add an option for saving/loading DPX with in log color space with
reference black, reference white and gamma.

Added 16 bit TIFF saving.

This needs more work to cleanup code and add 16 bit TIFF reading, but
committing it now so it can be tested.
2008-03-10 11:39:37 +00:00
Brecht Van Lommel
13f70b8077 Fix for bug #8366, render color sampling bugs and inconsistencies:
- renderwindow didn't show values of previous buffer correct.
- renderwindow only showed floats and no char values like image editor.
- renderwindow didn't show x,y values.
- image editor didn't show z values.

Patch to fix these problems provided by Rob Hausauer, thanks!
2008-03-03 16:38:27 +00:00
Joseph Eagar
0e233b3213 =Reversion of premul bugfix=
Reversion of premul bugfix, as it was apparently not
working all that well.

Note that this brings back the bug where the erase alpha
paint tool won't display correctly, since the UV image
editor just draws images in key alpha now.
2008-02-22 22:23:58 +00:00
Campbell Barton
ae464adffd Fix for [#8303] stamp gives wrong file name when using unsaved files
Also made alpha color work with OpenGL render caused by buf_rectfill_area not working on char rect's.
2008-02-21 23:19:06 +00:00
Joseph Eagar
6907bcc79b Reverted the change of auto-turning on premul for images from last
commit.  I still think this is a good idea, but needs more discussion.

Basically, the way the premul option worked before is it actually
changed the image data to be premul (for each pixel it multipled r,g,b by a) when
loading an image.  So if a user wanted his image to be key, yet
still work in the renderer (which expects premul) he'd be stuck.
Also, it was kindof confusing how if you painted something in the image,
then saved it with premul on, when next you loaded the image it'd have
changed (especially since the image editor painting seems to paint in
key, not premul).
2008-02-14 12:44:27 +00:00
Joseph Eagar
139b612b09 The "premul" option for images had a very bad implementation. It
basically flagged the image so that on next load/reload, the image
data would be converted to premul.  This was very confusing to the
user, as it meant premul wouldn't take effect will the image was
reloaded, and it would also change the image data, which the user
might've been painting.

To fix this, I've removed this behaviour and instead made the premul
option apply at render time.  During render while evaluating an image
texture, if the image has the premul flag set then the premul operation
is done on the texture result data, thus not touching the image data
at all.

Also, I've made premul be turned on by default.
2008-02-14 12:19:37 +00:00
Brecht Van Lommel
baf7be9e46 Memory usage debugging: now with the -d debug option enabled, at the end
of rendering it prints memory usage for images and all memory blocks.
2008-02-01 12:14:15 +00:00
Campbell Barton
6f4c03a091 opengl stamp wasnt working right, stamp assumed an alpha channel existed. 2008-01-20 23:52:48 +00:00
Brecht Van Lommel
e6ee8c7d49 Bugfix: in the new image function, uv test grid option
didn't draw colored crosses correct.
2008-01-06 16:04:48 +00:00
Campbell Barton
58bf29e389 removed blenderdef.h, BIF_*, BDR_* and BSE_* header files (except for BIF_gl.h and BIF_glutil.h) 2008-01-01 18:16:10 +00:00
Peter Schlaile
3ef896a945 == Sequencer ==
Attention! Rather large sequencer rewrite:

* Implemented layer blending using implicit effects. (works like layers 
  in "The Gimp" or Photoshop.)
* Fixed Space-Bar start-stop in preview windows.
  You can start playback using spacebar within a preview-window and it _works_!
* Fixed Flip Y (didn't work for float)
* Fixed premul (didn't work for float)
* Added IPOs to _all_ tracks. In blend-mode REPLACE it drives the 
  "mul"-parameter in all other blend modes it drives the effect.
* you can meta single tracks.
* moved "mute track" from "M" to "Shift-M"
* added "Shift-L" for "lock track"
* changed inner workings for Metas. Now all ImBufs have to use the
  reference counting mechanism. (Only interesting for coders :)

!!! Really important change, that affects current files!

Since you can mute tracks and now there is real layer blending capabilities
in place, I changed the silly behaviour that chose the output track.

Old behaviour: if we have an effect track visible, use the uppermost effect
track. If there is _no_ effect track visible, use the lowest input track.

New behaviour: always use the uppermost track. With blend modes active: 
work our way down starting from the uppermost track to the first 
"replace"-mode track. This is the way the gimp, photoshop, basically _all_
other applications work...

So if this change ruins your day: please try to fix your files using
"mute". If this doesn't work out, I can still restore the old behaviour,
but I really hope, that this is _not_ necessary!

Rational: most people won't get affected by this change, since you can't
really do anything usefull with the (old) sequencer without at least one 
effect track and then you are on the safe side...
2008-01-01 11:44:42 +00:00
Ton Roosendaal
97f144b5ff And now blender will link again! However, with a bad stub.c
That's going to be tackled.
2007-12-29 16:12:35 +00:00
Matt Ebb
3c1ad6a295 * Displacement map baking
This is an extension on the work Brecht already did to implement normal map baking. I've updated the release notes page here with info and pics:

http://www.blender.org/development/current-projects/changes-since-244/render-baking/
2007-12-29 05:17:19 +00:00
Ton Roosendaal
c79966be52 Blenkernel for 2.5 project, changes mainly are because of disabling
bad level calls. (which is not finished at all)
2007-12-24 18:38:03 +00:00
Campbell Barton
052a0551e4 Added 'File->External Data->Make all files Absolute'
OpenGL stamp also wasnt checking correctly (own error)
2007-12-24 17:07:52 +00:00
Ken Hughes
3e544d04b5 Tools
-----
Make FFMPEG image save use PNG format instead of JPEG.
2007-12-04 05:53:32 +00:00
Ken Hughes
62e28f52da Tools
-----
Bugfix #7831: fix image filename extensions on saved files.  Make FFMPEG save JPEG images by default, allow JPEG images to have either ".jpg" or ".jpeg" extension.
2007-12-03 23:37:33 +00:00