Commit Graph

54 Commits

Author SHA1 Message Date
ff77d00544 Fix for bug #5862: crash rendering to quicktime h.264. This would need
an upgrade to the new quicktime api to work, but that's not really
compatible with rendering out frames sequentially. For now it sets the
compression to minimum quality, which doesn't need seeking forward and
backwards.
2008-04-12 13:49:00 +00:00
db15615b5b == Quicktime ==
Hopefully fixes:
[#8518] 2.46RC1: Blender doesn't render animation correctly with Quicktime and 30/1.001

FPS was off by a factor of 10 in export...
2008-03-12 22:01:57 +00:00
a0390e5cc3 == Core ==
This adds fractional FPS support to blender and should finally
make NTSC work correctly.

NTSC has an FPS of 30.0/1.001 which is approximately 29.97 FPS.
Therefore, it is not enough to simply make frs_sec a float, since
you can't represent this accurately enough. 
I added a seperate variable frs_sec_base and FPS is now 
frs_sec / frs_sec_base.

I changed all the places, where frs_sec was used to my best knowledge.

For convenience sake, I added several macros, that should make life
easier in the future:

FRA2TIME(a) : convert frame number to a double precision time in seconds
TIME2FRA(a) : the same in the opposite direction
FPS         : return current FPS as a double precision number 
              (last resort)

This closes bug #6715 
Standard framerates not supported / breaks sync -- 23.967 29.967 etc.

https://projects.blender.org/tracker/?func=detail&aid=6715&group_id=9&atid=125

Please give this heavy testing with NTSC files, quicktime in/export
and the python interface.
Errors are most probably only spotted on longer timelines, so that is
also important.

The patch was tested by Troy Sobotka and me, so it most probably should
work out of the box, but wider testing is important, since errors are
very subtle.

Enjoy!
2007-10-21 15:42:08 +00:00
356ab94373 == imagebrowser ==
Initial commit of imagebrowser in trunk.
BIG COMMIT!

Main changes:
* completely reworked imasel space
* creation and storage of the preview images for materials, textures, world and lamp
* thumbnails of images and movie files when browsing in the file system
* loading previews from external .blend when linking or appending
* thumbnail caching according to the Thumbnail Managing Standard: http://jens.triq.net/thumbnail-spec/
* for now just kept imasel access mostly as old imgbrowser (CTRL+F4, CTRL+F1) a bit hidden still.
* filtering of file types (images, movies, .blend, py,...)
* preliminary managing of bookmarks ('B' button to add, XKEY while bookmark active to delete)

More detailed info which will be updated here: http://wiki.blender.org/index.php/User:Elubie/PreviewImageBrowser

Places that need special review (and probably fixes):
* BLO_blendhandle_get_previews in readblenentry
* readfile.c: do_version and refactorings of do_library_append
* UI integration

TODO and known issues still:
* Accented characters do not display correctly with international fonts
* Crash was reported when browsing in directory with movie files
* Bookmark management still needs some UI work (second scrollbar?), feedback here is welcome!

Credits:
Samir Bharadwaj (samirbharadwaj@yahoo.com) for the icon images.

Many thanks to everyone who gave feedback and helped so far!
2007-09-02 17:25:03 +00:00
24f4440d05 CMake lists initial submission. Documentationand further verification for different platforms will follow soon. This was just tested against current CVS on MSVC 2005 with Verse, QuickTime, OpenEXR, Player all on. 2006-11-17 02:27:12 +00:00
dba6769b2e bugfix #4812
Quicktime reading for Macs: code that converted ARGB to RGBA was endian
sensitive. Didn't work for Mac intel systems.
2006-08-28 09:30:33 +00:00
7ab9e8d491 fix case on a header. (seems odd that it wasn't caught before but
is consitant with rest of file, so I feel pretty safe commiting it.

Kent
2006-08-17 23:52:58 +00:00
c56f04cb5f Fixes I did before leaving to siggraph, couldn't commit it due to freeze:
- buffer overflow was possible with providing a file path argument longer
  than 256 characters.
- buttons "VCol Light" and "VCol Paint" were not mutual exclusive
- quicktime error menu (unable to create) had a enter in end
- deleting points in CurveMapping button (like Curves node in compositor)
  did not give proper recalc event
- edges render menu had a tooltip still mentioning the unified render
2006-08-09 10:00:27 +00:00
a4c110f8eb Two more quicktime changes for compiling after OSX software update 2006-04-05 15:31:21 +00:00
666120ad9a Another #define __CARBONSOUND__ needed because of wacko Quicktime decision
to leave carbon framework in bad state.
2006-04-05 12:03:43 +00:00
Nathan Letwory
57c5db681e ==SCons==
* 'scons blenderplayer' links the blenderplayer now correctly also on win32-vc.
  If the OS X-folks can verify the linking of the blenderplayer too, we'd have
  much of the needed work done.
2006-02-07 22:24:41 +00:00
Nathan Letwory
3bb82a27fc == SCons ==
* This commit is all of the rewrite work done on the SCons system. For
  documentation see doc/blender-scons.txt and doc/blender-scons-dev.txt.
  Also http://mediawiki.blender.org/index.php/BlenderDev/SconsRefactoring
  contains valuable information, along with what still needs to be done.

    - linux, os x and windows compile now.
    - files are compiled to BF_INSTALLDIR (see config/(platform)-config.py)
        - NOTE: Jean-Luc P will commit sometime during the weekend proper
          appit() for OS X. For now, copy the resulting binary to an
          existing .app bundle.
    - features:
        - cleaner structure for better maintenance
        - cleaner output during compile
        - better handling of build options
        - general overall speed increase
        - see the wiki for more info

  Cygwin, FreeBSD and Solaris systems still need work. For these systems:
    1) copy a config/(platform)-config.py to ie. config/cygwin-config.py
    2) set the proper defaults for your platform
    3) mail me at jesterking at letwory dot net with you configuration. if
       you need any modifications to the system, do send a patch, too.

  I'll be giving first-aid today and tomorrow, after that it'll be all
  regular development work :)

  /Nathan
2006-02-04 14:15:10 +00:00
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
b12f801681 updates to the OS X build system :
- XCode project
- Scons :
    scons stopped working for Os X in the last month (dont know when) :

     * the '.' and '..' keywords in CCPPATH
          are not recognized anymore for sconscripts compiling files at
          a sub level
     * when doing a scons clean, the 3 subdirs in build dir are removed
      and scons then fail to recreate them (exten, intern, source)

this commit solve the first problem as a temp workaround
for the latter simply recreate the dirs manually

I will investigate that further when on vacations,  which i should already
 be.
 ;(

all 3 build systems are now working on Os X
2005-08-04 16:05:28 +00:00
205b6501a0 (Accidentally sent previous commit without message... is same stuff)
gcc4 error fixes for compiling in OSX Tiger

Also; make using python framework default in makefiles
2005-06-08 18:55:49 +00:00
24c9f65056 - got tired of str[n]casecmp not declared warnings
- added BLI_str[n]casecmp, use instead of regular versions
 - rewrote BLI_str[n]casecmp to not be stupid
2005-04-02 15:36:57 +00:00
c78e44cdc5 big warning hunt commit
lot of casts, added prototypes, missing includes and some true errors
2005-03-09 19:45:59 +00:00
3f463dcc32 Bugfix #2228
Quicktime on OSX now saves Movies with a correct alpha layer.
Also fixed the bottom-to-top orientation problem which occured
with several (OSX) applications.
2005-02-19 10:46:52 +00:00
309792d206 RGBA Quicktime movies give codec compression crashes on OSX.
Reverting Quicktime export to ARGB for both OSX and Windows to
keep some consistency on Blender's output.
2005-01-12 11:03:25 +00:00
180b8f48ce Trying to make RGBA Quicktime movies on OSX, instead of ARGB. 2005-01-12 10:34:05 +00:00
9848800799 Reverting Quicktime movie export method for OSX. 2005-01-12 10:18:47 +00:00
343712f367 Improved functionality for Quicktime movie export.
Exporter now uses less memory and might be a little faster.

Needs tesing on OSX, there might be RGBA endian issues.
2005-01-11 10:58:58 +00:00
ca5784a7ce A one-line commit; Quicktime movies used as texture are now loaded at the highest quality.
I noticed Quicktime did not display interlaced fields for DV movies, it works OK now !
2004-12-19 13:45:03 +00:00
c021f10783 Added missing include path for BIF_toolbox.h. 2004-12-12 16:24:08 +00:00
58a503c189 Disabled debug printing. Pfft. 2004-12-10 13:39:05 +00:00
56242a4977 Bugfix #1262 bugfix.
Path detection was wrong. Grrr, stupid windows paths.
2004-12-10 13:24:56 +00:00
4b07e2c4d6 Bugfix #1262 additions.
When the Quicktime movie output path lacks any path indication, the movie is created in the
executable directory.
Also new, when the Quicktime output movie isn't created for some reason, the rendering will
stop and give an error message (in the console).
2004-12-10 12:55:53 +00:00
8b20a8a685 Bugfix #1262
Raw fix for the drive letter issue with Quicktime/Windows filenames.
When a drive letter is missing in a filename, it'll use the drive where the executable is.

Fix might be useful for Yafray too, because the extern char bprogname[]; doesn't return
a full path when Blender is started from the console.
2004-12-10 01:28:28 +00:00
d5fde6c48b Added #!/usr/bin/python standard script identifier to the start of SConscript files.
Makes text editors identify SConscripts as Python, and syntax highlight properly.
2004-05-16 13:07:20 +00:00
27a250a163 Fix for removed streamglue stuff.
BLO_sys_types.h was moved.
2004-04-16 17:14:05 +00:00
Nathan Letwory
a9ecba8872 Forgot to commit this file, as part of the antiglue campaign.
/jesterKing
2004-04-16 16:36:11 +00:00
a7354ea007 Fix for bug #1100
Under Windows, Quicktime images with a depth < 32 didn't
show up in the sequence editor. To fix this a non transparent layer was added to them. (bf227-bf232)

I now have disabled this trick for GIF images, so the transparency is preserved. But this is a quick fix and
should be replaced by a transparency check function.
2004-04-09 14:09:56 +00:00
70a4ead0ae SCons updates
* Blender static now links. By default this option is disabled on all
  platforms. Simply set the option in config.opts to 'true'.
* Added the following flags to config.opts:
  - HOST_CC.    This is the C compiler for the host platform. This value is the
                same as TARGET_CC when not cross compiling.
  - HOST_CXX.   This is the C++ compiler for the host platform. This value is
                the same as TARGET_CXX when not cross compiling.
  - TARGET_CC.  This is the C compiler for the target platform.
  - TARGET_CXX. This is the C++ compiler for the target platform.
  - TARGET_AR.  This is the linker command for linking libraries.
  - PATH        This is the standard search path
  All SConscript files have been updated to reflect these changes. Now it's
  possible to change only the root SConstruct file, and all compiler specific
  variables are passed automatically to all SConscript files. Of course, this
  does not apply to makesdna because there the host and target platform is
  different from all other libraries.
  To pass a variable that applies to all platforms, all we now have to do is
  set the correct value in library_env


Note: as usual, to get the latest options in the config.opts file, first
      remove your version.
2004-02-29 21:40:48 +00:00
9330e553e8 SCons updates
* libraries are now generated in [BUILD_DIR]/lib
* passed the user_options to all libraries now.
  This means I could remove a couple of Export/Import lines.
* Changed the order in source/blender/src/SConscript and
  source/gameengine/SConscript.
  All libraries are now sorted alphabetically. This has no impact on the build
  process.
2004-02-15 19:25:32 +00:00
239edfc272 some cosmetic changes to make the compiler shut up when building with scons
on os x
2004-01-08 16:28:45 +00:00
0be1e050a5 fix (?) for compiling with quicktime support on some versions of os x
with some versions of gcc (aka. the nasty ID problem). see also
http://www.blender.org/pipermail/bf-committers/2003-November/004660.html
2004-01-08 16:26:30 +00:00
Nathan Letwory
a66108134c - Added the SConscripts for ftfont and quicktime
- [win32] python_include was missing, there was a double python_libpath. Corrected
- [win32] the soundsystem SConscript broke the win32 build.
2004-01-05 18:17:23 +00:00
57a7dfe5a5 - Revert to NaN makefiles 2004-01-05 00:06:11 +00:00
eff07b8329 Basic initial yafray integration by Eeshlo.
Materials are exported the best we can do by now. It will look almost as in
blender except for the missing procedural textures and some minor issues.
You have to tweak normal modulation amount to get the desired result cause
is not the same in yafray.

We added a panel in render space to adjust some yafray settings (GI and so)

Also we export transparency and reflection using new raytracing settings,
but that will be changed and improved soon.

Remember that you have to set YFexport path in user defaults and yafray must
be on path (version 0.0.6)

We added the "yafray" button to activate all this stuff in the render window.
Panel and settings are only shown when checked.

So now when activated the code calls yafray export instead of the internal
renderer and finally the resulting image is loaded back into render window's
buffer. So animation is also possible and results can be saved using blender
usual scheme.
2004-01-04 22:10:36 +00:00
dae2b17400 - committed in the 'hack' as mailed to committers list by Douglas B, which
he got from Nicolas Zinovieff, to solve the struct ID conflict with
  AIFF. By including a #define __AIFF__ in the top of the files, the
  blender includes won't get frustrated by an already defined struct ID.

  should still be tested for 10.3 and other OSX installs!
2003-12-07 12:55:18 +00:00
99efb0cc3c removed native quicktime init/exit calls from main blender code. 2003-09-18 11:41:50 +00:00
422f4faa1b moved Quicktime init function from creator.c 2003-09-09 21:26:34 +00:00
babd29f1df don't use QuickTime to load tga, png, and jpg images, as this causes
problems when trying to play a sequence of images (fixes bug #430)
2003-08-05 12:44:34 +00:00
30f7d15296 fixed a memory deallocation error. 2003-05-21 21:42:36 +00:00
ffaae20400 fixed dialog framerate. 2003-05-21 02:26:45 +00:00
9662763ee0 Updated Quicktime code so settings can be stored in the blendfile.
This enables Blender to;
- have scenes with different codec settings. (same as avicodec)
- render directly without dialog.
- batch/background render to Quicktime movies.

Only tested on windows. ;)
2003-05-21 01:21:07 +00:00
7c48bec899 Fixed nasty issue when aborting Quicktime rendering. 2003-05-16 14:31:31 +00:00
29806ccb0d replaced depricated p2cstr with CopyPascalStringToC for OSX. 2003-05-09 13:07:41 +00:00
6670ad7bec minor code cleanups 2003-05-09 12:45:59 +00:00
f8803db66d added a labelbutton that displays the selected avi/quicktime codec. 2003-05-09 11:24:55 +00:00