Commit Graph

153 Commits

Author SHA1 Message Date
Ton Roosendaal
91bc713467 Bugfix #5941
When making an area fullscreen, the 3d preview render should be reset.
This already worked correct in 2.42, but stopped working after bugfixes!
2007-02-09 09:38:30 +00:00
Ton Roosendaal
abdc138acc Bugfix #5734
Inserting keys (using Ikey in 3d window) could crash if you have objects
selected, but no active.
2007-01-21 13:03:46 +00:00
Ton Roosendaal
1f93826144 Bugfix #5634
Adding a new Blender Screen (top header, screen browse menu) did not
correctly clear memory, causing scriptlinks in Area Windows to mess up
2007-01-08 11:52:11 +00:00
Nicholas Bishop
a8cb4a7860 Fixed bug #5557, retopo - toggling fullscreen shifts painted lines 2006-12-31 22:18:21 +00:00
Roland Hess
445746696b Little commit to curb a tiny bit of the complaining about how easy
it is to accidentally quit Blender and "lose" your work.

Even though there is quit.blend, Ton said he had no problem
with at least removing plain of 'q' for quit.

Quit Blender hotkey is now Ctrl-Q.
2006-12-26 12:51:55 +00:00
Ton Roosendaal
e4511c805f Ancient bug: when subdividing the screen many times, it gives a crash when
the amount of subwindows reaches 128 (64 areas+headers).

Added a warning instead of crash!
2006-12-26 09:19:19 +00:00
Ton Roosendaal
253432bfc7 The Big Image refactor!
Please read:
http://www.blender3d.org/cms/Imaging.834.0.html

Or in short:

- adding MultiLayer Image support
- recoded entire Image API
- better integration of movie/sequence Images

Was a whole load of work... went down for a week to do this. So, will need
a lot of testing! Will be in irc all evening.
2006-12-20 17:57:56 +00:00
Ken Hughes
3d2dfe8631 Python API
----------

Bugfix #5398: setting object layers from background render caused "bad call
to addqueue: 0 (18, 1)" messages to be sent to the console.  Add a check in
addqueue_ext() for G.background first before printing.
2006-12-11 01:44:59 +00:00
Tom Musgrove
3731be91be =eliminate mouse centering on startup=
at the request of Aardbei in the forums eliminating the mouse centering on startup - Matt if there is a 'good reason' for the centering (asking on IRC no one had one), feel free to revert it back
2006-11-30 02:35:12 +00:00
Ton Roosendaal
6b9bf57066 Yuck, a very ancient crasher in going area-full screen in Blender.
I wonder how this survived so long in Blender... (2005/03/09 commit).

Reason was the call to BPY_free_screen_spacehandlers(sc) in kernel,
which was freeing up scripthandlers in a weird way. That call is
really obsolete. The real freeing should go in the del_area() call,
to prevent copying and deleting area in the UI to go wrong.

(Crash happened in testing timeline markers, and holding CTRL+Uparrow
a while...)
2006-11-17 12:44:15 +00:00
Nicholas Bishop
8e97a2955b Merged Google Summer of Code sculptmode/multires/retopo tools.
From the tracker:
https://projects.blender.org/tracker/index.php?func=detail&aid=5018&group_id=9&atid=127
2006-11-06 01:08:26 +00:00
Jiri Hnidek
2ee42ac01e Huge commit: VERSE
- All code is in #ifdef ... #endif
 - Only make build system is supported and you have to add:
    export WITH_VERSE=true
   to user-def.mk file
 - Blender can share only mesh objects and bitmaps now
 - More informations can be found at wiki:
    http://mediawiki.blender.org/index.php/BlenderDev/VerseIntegrationToBlender
    http://mediawiki.blender.org/index.php/BlenderDev/VerseIntegrationToBlenderUserDoc

  I hope, that I didn't forget at anything
2006-08-20 15:22:56 +00:00
Ton Roosendaal
8cd491750e Bugfix #4830
Preview render in 3d window: when window type changes (like 3d window to
UV window), and you change the window size, and restore to 3d view, the
rendered preview had to be re-initialized.

texture.c: a return was added without value.
2006-08-09 10:49:52 +00:00
Matt Ebb
c22260a7cb * Blender-side stuff for GHOST tablet pressure 2006-08-03 12:25:32 +00:00
Ton Roosendaal
c2edcd4879 Siggraph show commit!
- pending commit for OSX intel systems, with intel graphics. These now call
  an extra swapbuffers after glFlush(). Code is ifdeffed, and doesnt affect
  other systems.

- show-off commit: option to have transparent nodes over the composite
  result. Only draws Image for active Viewer Node now, and image doesnt
  translate nor zoom (which isnt bad though).
  Set in themes the alpha color of "node backdrop" to make nodes
  transparent.
2006-07-31 19:23:42 +00:00
Ton Roosendaal
cd976bfd42 Bugfix #4628
Ancient issue in making screendumps in Blender. It used to support making
dumps of popup menus, but that disappeared a while ago. However, when you
press CTRL+F3 in a menu now, Blender hangs in some eternal loop in ghost.

This commit fixes making menu screendumps (nice for docs!).

- press CTRL+F3 *twice* for an exact copy of a menu. (first press exits
  menu, 2nd press opens filewindow)
- note, it is ALT+CTRL+F3 in OSX
- what is saved is only the topmost open level of a menu
- full-screen dumps work too by holding SHIFT extra.
2006-07-06 12:50:48 +00:00
Ton Roosendaal
5dac88dc58 Bugfix from own testing:
In outliner, the icons sometimes were drawing too large or too small.
Same happened in NLA, Action, Image window etc. And it happened
for "International fonts" when set to use 'texture drawing'.

Reason: the API call for setting icon size BIF_icon_set_aspect() was not
used consistantly. Sometimes it was set, sometimes not. And even worse,
for every icon drawn in UI buttons, the icon lookup had to be done twice
because of the aspect function.

Solved it by removing this call, and adding a new function:
BIF_icon_draw_aspect()
The old BIF_icon_draw() call now draws with aspect 1.0 always. The icons
code already had optimal checking for changed sizes, zo a change in aspect
won't result in much cpu overhead. Plus it saves calling icons lookup code,
which will make it all a bit faster.

Andrea: I've added this aspect function a long while ago, I think you also
like it better how it is now? Please check!
2006-06-29 09:44:08 +00:00
Ton Roosendaal
2a67e98359 Bugfix #4352
More Sequence render fixes:

- on load of .blend file, with Sequencer invoking a sequence render, the
  header window matrix was not set, giving "Insane icon" prints
- option "Do Sequence" had no re-display call in end
2006-06-18 12:27:06 +00:00
Ton Roosendaal
21c90425c0 Silly screens code in Blender... trying to cleanup stuff only breaks other
things! :)

Anyhoo, commits yesterday for preview panel fixes in Compositor broke the
new fullscreen render output feature. The damn curarea again yes!
2006-06-16 10:17:56 +00:00
Ton Roosendaal
0b8cfd4042 Undo pushes for buttons could get cancelled out with a call to read the
queue 'external'. Happened for example in Node editor.
2006-06-15 17:25:10 +00:00
Ton Roosendaal
680eed3758 Background rendering didn't work anymore!
- STUPID mistake from me in setting the waitcursor...
- icons for UI got freed, without checking if it existed (crash in end)
- call to close mainwindow didn't check if window existed

note:
I usually test the "blender -b" case, which should start blender,
initialize all, free all, and print "blender quit" to signal all is fine.
2006-06-15 11:15:25 +00:00
Ton Roosendaal
6deb0cf41a Small fixes in 3d window preview render, discovered while making regression
files for it :)

- on load, the rendering was done twice
- changing area size didn't correct the render
2006-06-15 09:44:52 +00:00
Ton Roosendaal
bad72cec61 New feature! (Well, replacement for the exisiting cumbersome "DispView")
Next to the "DispWindow" there are now two new choices:

- Display render output to Image Editor
- Display render output to Screen-sized Image Editor

Both options won't open a 2nd window anymore, which makes work quite more
smooth even, especially because 'focus' isn't lost. Further it fits in the
'single window UI' paradigm of Blender. Should have been done 10 years ago!

Lastly it might bypass issues with X11... having 2 windows with opengl
context is not always stable in Linux.

This option uses an identical trick as for the Compositor viewer, using an
Image block with a fixed name ("Render Result").

The flow, when invoking a Render, goes as follows:
- first it checks if there's an Image Editor visible displaying the "Render
  Result", if so then it uses that area-window.
   (Use this option for dual-monitor setups for example, a render will always
   go to the same location then)
- else it checks if there's an Image Editor open in general, it then
  assigns that window the "Render Result" Image.
- else: it searches for the largest Area in the screen, and turns that into
  a temporal Image Editor showing render output.

After a render, an ESC will push back the former view, if the Area type has
changed.

Same rules apply for the "Full Screen" option. Here an ESC will always go
back to the regular Screen, and restore Area type if required.

While rendering, the queue for the renderwindow isn't handled yet, so you can
not zoom (nor get full redraws), as for the regular render window.

Existing conflicts:
- in FaceSelect mode, the Image editor enforces to display the face texture
  after rendering again.
- when using an Image window for compositing, you'll lose the Viewer output
  on a render.

Implementation note:
While rendering updates, nothing is drawn in frontbuffer anymore. That's
good news for b0rked OpenGL drivers (and faster). However, for the few
OpenGL cards that don't do a "swap copy" but a "swap exchange" you get
issues... has to be worked on. I'm afraid we have to drop frontbuffer
drawing altogether.

Other fixes:

- Hotkeys NumPad 1, 2, 4, 8 will set zoom levels (was half coded only?)
  Use SHIFT to zoom out (smaller).

- Rendering Tile updates still had draw errors on edges of tiles, in OSA
  only. (Caused by commit 4 days ago)
2006-06-12 14:39:08 +00:00
Matt Ebb
a849ba8189 * Disabled the Shift-Space window maximise shortcut while within text object edit mode 2006-05-22 07:07:19 +00:00
Ton Roosendaal
1b7f9dfee6 On changing screens (which is also when going to a 'full window') the
queues get signalled to all escape, this to prevent things happening
on old windows.

The code then still did a redraw though... which was invisble (another
draw happened after, but caused icon system for example to choke on
not-initialized values.
2006-05-14 18:02:46 +00:00
Peter Schlaile
2dce179e9d ==Sequencer==
This patch is mostly a usability patch for the sequencer, mainly written by
Anders Gudmundson and twisted a little bit by me.

- Lock Time to other windows
- Possibility to switch the X-Axis between frames and seconds-display
- IPO-Frame Locking for plugins (T-Key)
- Additional Popup to add HD-Sound and Movie at once
- In Timeline-Window: Sequencer windows only playback
- Make the IPOs a little bit IPO-Frame-Lock friendlier (doesn't jump;
  the frame that is drawn has the right dimension)
- Wheel-Mouse buttons make the sequencer window zoom again.
- The "This is not a sound/movie-file message" now reads "... or
  FFMPEG-support not compiled in!" since I learned some prominent
  people who complained, that hdaudio does not work for them ;-)
- Make SPACEKEY open up the "Add Strip"-Popup on the timeline and start
  playback in the preview window.
2006-03-26 21:36:42 +00:00
Ton Roosendaal
610a813c0c Bugfix... very ancient one even. When you use multiple screens in a project
with each having different scenes, changing screens didn't call the proper
set_scene() call, which left quite some stuff improperly initialized.

With depsgraph code even causes crashing.
2006-03-09 12:48:13 +00:00
Ton Roosendaal
ff7f544dec Preview rendering improvement;
Until now, on each mouse/key event preview render restarted with first tile.
It now rememers where it was, and continues rendering.
Also tried to get threaded preview working, but its more work than I can
spend right now. Back to bugs :)
2006-02-13 19:27:16 +00:00
Matt Ebb
b38145ff51 * This should have come along with the cursors commit before, to make the standard cursor show when over a window header. *blush* 2006-02-02 12:16:23 +00:00
Ton Roosendaal
042d612df2 Giant commit!
A full detailed description of this will be done later... is several days
of work. Here's a summary:

Render:
- Full cleanup of render code, removing *all* globals and bad level calls
  all over blender. Render module is now not called abusive anymore
- API-fied calls to rendering
- Full recode of internal render pipeline. Is now rendering tiles by
  default, prepared for much smarter 'bucket' render later.
- Each thread now can render a full part
- Renders were tested with 4 threads, goes fine, apart from some lookup
  tables in softshadow and AO still
- Rendering is prepared to do multiple layers and passes
- No single 32 bits trick in render code anymore, all 100% floats now.

Writing images/movies
- moved writing images to blender kernel (bye bye 'schrijfplaatje'!)
- made a new Movie handle system, also in kernel. This will enable much
  easier use of movies in Blender

PreviewRender:
- Using new render API, previewrender (in buttons) now uses regular render
  code to generate images.
- new datafile 'preview.blend.c' has the preview scenes in it
- previews get rendered in exact displayed size (1 pixel = 1 pixel)

3D Preview render
- new; press Pkey in 3d window, for a panel that continuously renders
  (pkey is for games, i know... but we dont do that in orange now!)
- this render works nearly identical to buttons-preview render, so it stops
  rendering on any event (mouse, keyboard, etc)
- on moving/scaling the panel, the render code doesn't recreate all geometry
- same for shifting/panning view
- all other operations (now) regenerate the full render database still.
- this is WIP... but big fun, especially for simple scenes!

Compositor
- Using same node system as now in use for shaders, you can composit images
- works pretty straightforward... needs much more options/tools and integration
  with rendering still
- is not threaded yet, nor is so smart to only recalculate changes... will be
  done soon!
- the "Render Result" node will get all layers/passes as output sockets
- The "Output" node renders to a builtin image, which you can view in the Image
  window. (yes, output nodes to render-result, and to files, is on the list!)

The Bad News
- "Unified Render" is removed. It might come back in some stage, but this
  system should be built from scratch. I can't really understand this code...
  I expect it is not much needed, especially with advanced layer/passes
  control
- Panorama render, Field render, Motion blur, is not coded yet... (I had to
  recode every single feature in render, so...!)
- Lens Flare is also not back... needs total revision, might become composit
  effect though (using zbuffer for visibility)
- Part render is gone! (well, thats obvious, its default now).
- The render window is only restored with limited functionality... I am going
  to check first the option to render to a Image window, so Blender can become
  a true single-window application. :)
  For example, the 'Spare render buffer' (jkey) doesnt work.
- Render with border, now default creates a smaller image
- No zbuffers are written yet... on the todo!
- Scons files and MSVC will need work to get compiling again

OK... thats what I can quickly recall. Now go compiling!
2006-01-23 22:05:47 +00:00
Ton Roosendaal
17210112a1 Orange: Warning cleanup for Icons commit, missing declarations of some
calls caused icon hashing not to work too. Runs smooth here :)
2005-12-21 23:39:20 +00:00
Andrea Weikert
80eb4d3b9e Big commit in orange: Interface icons for materials, textures
world and lamp. Also for images in pupmenus.
Also preparation for work on using preview images in imagebrowser.

-- Andrea
2005-12-21 22:21:43 +00:00
Ton Roosendaal
e14ff3de3d Orange:
- Sunday merger with bf-blender

- Foundations for new Node editor in Blender, generic framework that can
  be used for Material/Texture, Compositing, Logic or maybe even Sequencer.
  Note: this doesn't do anything yet, nor save! Is just to get this nice
  in CVS now. :)
2005-12-18 13:46:01 +00:00
Ton Roosendaal
128b187db1 Orange: New option "Shadow Bias", to extend the boundary between shadow or
no shadow a little bit. Uses same threshold function as the "Bias" button.
(That latter still works, and will use an automatic bias value based on the
geometry, to prevent terminator errors in raytracing).

Anyhoo, with this manual bias you can get rid of terminator problems for
weird diffuse shaders now as well (like tangent or fresnel).

Committed a few more files than needed, that's just code cleanup.
2005-12-17 14:05:40 +00:00
Ton Roosendaal
1eab492c4b Syncing Orange branch with bf-blender 2005-11-30 13:58:01 +00:00
Ton Roosendaal
10517e5e87 I hesitate to call it a bugfix... but it's a removal of a very ancient
(2001) hack that enforced opening renderwindows smaller than screen size.

The notes I could find referred to testing old 3d cards, which failed to
give graphics memory for large windows. Another note was an issue on OSX,
where the topbar and windowbar gets hidden otherwise.
That latter case I corrected now.

Will organize good testing for this, if there's issues, will uncommit :)
2005-11-28 22:49:23 +00:00
Ton Roosendaal
77f5473da9 test if merging with bf-blender works for Orange branch. 2005-11-24 22:43:47 +00:00
Ton Roosendaal
dd57ec03a1 Removed clipping conventions for setting prefsize in Blender. Meaning, for
dual monitors you can start blender on a negative starting size too, like
blender -p -1280 0 1920 1280
2005-11-22 15:58:09 +00:00
Jiri Hnidek
a2ac524c10 - bug fix #3380, patch provided by Ken Hughes, thanks 2005-11-17 20:35:03 +00:00
Jiri Hnidek
b5f212ae53 - arrow used for visualisation of joining of screen areas is drawn on the
other side now, I tried to fix bug submited by Nathan, can you test it?
2005-11-03 10:11:46 +00:00
Ton Roosendaal
4069604736 Fixed gcc warnings for unused var and unitialiazed vars.
NOTE: I had to fix NMesh.c, Mesh_fromNMesh(), that is a real bad
function... it was returning a Py object as a Mesh (on error).
This is still not really solved (NULL return is not handled).
2005-10-28 10:09:46 +00:00
Matt Ebb
df84b87fd0 The handy Shift Space for maximise a window space
wasn't being too handy in the text editor, so I've disabled
it here now.
2005-10-24 12:53:24 +00:00
Ton Roosendaal
1af3055832 Bugfix #3046
When using 3d window "unlocked" (own layer and own camera possible), the
dependency updates didn't work, these were only using Scene layers.

Changed the dependency graph call DAG_scene_flush_update()
to accept an argument for all visible layers in a Screen.
2005-10-03 09:04:57 +00:00
Chris Burt
589f91e0ee This commit sets the info header on the preferences window and the
header prints on the 3d view header to be the same color as the menu text.
This ensures that you can read the text against the color of the header
just as long as the theme color for the menu text is also readable against
the header color. This should make dark themes much better.
2005-10-01 21:16:52 +00:00
Matt Ebb
3c3b0c13e3 * Added additional shift space to fullscreen/tile window spaces. So much
more convenient than ctrl uparrow/downarrow since you don't have to take
your hand off the mouse!
2005-09-30 09:49:56 +00:00
Ton Roosendaal
97d749a99f Suppressed another GL_FRONT drawing routine, causing potential slowdowns
for some configs. This was an old hack for sgi's, so I've put it behind an
ifdef for sgi and suns now.

Test if blender still works by switching screens, and check for the borders
between the blender area windows. These should draw all nice empty/black.
2005-09-28 09:59:59 +00:00
Alexander Ewering
f9c15a2c20 Fix forward declaration of drawscreen() 2005-09-28 07:11:24 +00:00
Ton Roosendaal
96253376e7 Recommitted this commit yesterday, was apparently done in the wrong
directory... so the slowdown was still evident!

Maintenance commit;

  - *Giant* speedup for LMB frame-dragging in ipo/action/nla windows. It was
    calling a routine that accessed frontbuffer drawing.... a very old patch
    for SGIs even! :)
  - Prepared code for support of unlimited Shape keys
  - Curve objects didnt draw correct for selection-outline option
2005-09-27 21:52:04 +00:00
Joseph Gilbert
13349ad7a4 drawscreen is called before it's defined crashing msvc 2005-09-26 20:37:52 +00:00
Jiri Hnidek
7cd510f2d8 - interactive joining of two screen areas
- user can interactively select, what screen are will be "kept alive" and
   what will be destroyed
 - screenshot:

   http://e-learning.vslib.cz/~hnidek/pics/interactive_joining_of_scrareas.jpg
2005-09-22 12:45:19 +00:00