Commit Graph

23 Commits

Author SHA1 Message Date
Brecht Van Lommel
272a91f754 Merge of apricot branch game engine changes into trunk, excluding GLSL.
GLEW
====

Added the GLEW opengl extension library into extern/, always compiled
into Blender now. This is much nicer than doing this kind of extension
management manually, and will be used in the game engine, for GLSL, and
other opengl extensions.

* According to the GLEW website it works on Windows, Linux, Mac OS X,
  FreeBSD, Irix, and Solaris. There might still be platform specific
  issues due to this commit, so let me know and I'll look into it.
* This means also that all extensions will now always be compiled in,
  regardless of the glext.h on the platform where compilation happens.

Game Engine
===========

Refactoring of the use of opengl extensions and other drawing code
in the game engine, and cleaning up some hacks related to GLSL
integration. These changes will be merged into trunk too after this.

The game engine graphics demos & apricot level survived my tests,
but this could use some good testing of course.

For users: please test with the options "Generate Display Lists" and
"Vertex Arrays" enabled, these should be the fastest and are supposed
to be "unreliable", but if that's the case that's probably due to bugs
that can be fixed.

* The game engine now also uses GLEW for extensions, replacing the
  custom opengl extensions code that was there. Removes a lot of
  #ifdef's, but the runtime checks stay of course.
* Removed the WITHOUT_GLEXT environment variable. This was added to
  work around a specific bug and only disabled multitexturing anyway.
  It might also have caused a slowdown since it was retrieving the
  environment variable for every vertex in immediate mode (bug #13680).

* Refactored the code to allow drawing skinned meshes with vertex
  arrays too, removing some specific immediate mode drawing functions
  for this that only did extra normal calculation. Now it always splits
  vertices of flat faces instead.
* Refactored normal recalculation with some minor optimizations,
  required for the above change.
* Removed some outdated code behind the __NLA_OLDDEFORM #ifdef.
* Fixed various bugs in setting of multitexture coordinates and vertex
  attributes for vertex arrays. These were not being enabled/disabled
  correct according to the opengl spec, leading to crashes. Also tangent
  attributes used an immediate mode call for vertex arrays, which can't
  work.
* Fixed use of uninitialized variable in RAS_TexVert.
* Exporting skinned meshes was doing O(n^2) lookups for vertices and
  deform weights, now uses same trick as regular meshes.
2008-06-17 10:27:34 +00:00
Andrea Weikert
003b7cc1fe == cmake win32 ==
- fixed CMAKE files for Win32 for new ffmpeg libs
- ignore libc in debug build. 
TODO: debug build with OpenEXR still fails with unresolved externals due to /MTd flag.
2008-04-24 19:18:46 +00:00
Chris Want
5d0a207ecb Patch from GSR that a) fixes a whole bunch of GPL/BL license
blocks that were previously missed; and b) greatly increase my
ohloh stats!
2008-04-16 22:40:48 +00:00
Chris Want
659316e4f4 Fixes for CMake. 2008-01-22 05:34:53 +00:00
Chris Want
c4929f84f7 CMake isn't fully working yet, just correcting a simple typo.
I see BINRELOC is set as a configurable option -- does this mean
that it is optional on linux? (I thought it was required.)
2008-01-22 04:27:23 +00:00
Kent Mein
320ac3f0e2 Fixing makefiles for binreloc I made it use flags like other
things default on for linux.  ideasman helped me get scons working.
Cmake still needs some love...

Kent
2008-01-18 21:39:47 +00:00
Chris Want
6e9ac0fe97 Disable copying plugins, et al, to the CMake bin directory -- the
.svn directory would get copied and it has some files that are
write protected, which means that the build would fail the second
time you run make. Needs a better solution.
2007-05-18 15:57:40 +00:00
Chris Want
70a72d4133 Test commit: Changes to CMake for Python 2.5 under windows
from Eugene.
2007-05-15 21:24:19 +00:00
Chris Want
98760e69b3 Change link order (nodes<-->blenkernel) for cmake build. 2007-03-27 21:58:02 +00:00
Kent Mein
80237ceff9 patch to get cmake working with nodes now. Provided by Genscher.
I still have linking issues with it but it is better as is so I'm
commiting it.  Hopefully will have it fixed fully shortly.

Kent
2007-03-27 18:34:57 +00:00
Jacques Beuarain
0246e8ba00 CMake: Think this is the reason linking python statically causes problems on some platforms (linking order) 2007-02-18 15:01:07 +00:00
Chris Want
2cd4fca2ef I need to use the 64-bit Linux blender, but I don't want to accidentally
commit creator.c, so if this file is compiled and the macro YESIAMSTUPID
is defined, the executable will run, with a mean warning printed to stdout.
Enable in cmake by setting YESIAMSTUPID to On, or with make by putting
"export NAN_YESIAMSTUPID=true" in user-def.mk.
2007-01-23 20:08:23 +00:00
Jacques Beuarain
d78aed0682 CMake: Add scripts copy back into postbuild on Windows after accidentally removing it when adding the plugins 2006-12-15 10:40:37 +00:00
Jacques Beuarain
ed6da1709f CMake: Oops. Fix Info.plist problem from recent changes in bundling steps. 2006-12-12 12:43:02 +00:00
Jacques Beuarain
78f7fc41e4 CMake: Fix postbuild step in Unix Makefiles because cp return error code
for CVS dir.
2006-12-10 17:38:38 +00:00
Jacques Beuarain
6cbe9b8ac4 CMake: Copy packaging files for Unix in post-build and fill in missing files for other platforms as well (plugins, text etc.) 2006-12-10 17:09:48 +00:00
Jacques Beuarain
db0b953706 CMake: Copy .blender structure and necessary dlls for Windows builds as part of the postbuild to target directories. 2006-12-10 14:49:28 +00:00
Jacques Beuarain
bd1fe441d4 CMake: Move genrated dna.c and cmake_blender_libs.txt to binary directories to keep source dir pristine. Also flag removed libraries as status and not "error" messages. 2006-12-07 00:18:57 +00:00
Jacques Beuarain
2279872921 CMake: Proper bundle for blender binary for Mac OS X and just keep blenderplayer as regular binary as with download from blender3d.org 2006-12-06 00:28:13 +00:00
Jacques Beuarain
6ede6352ed CMake: Quicktime library was not linked on Unix platforms because it was missing from sorted static library lists. 2006-11-25 23:42:11 +00:00
Jacques Beuarain
681346188f CMake: Remove blender_img from sorted link list as it has been renamed/replaced 2006-11-18 16:24:59 +00:00
Jacques Beuarain
1a85cc1663 CMake: Do not create dummy dna.ca on initial run in wrong place for blender app 2006-11-18 02:40:36 +00:00
Jacques Beuarain
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