27 Commits

Author SHA1 Message Date
Kevin Anthoney
d03d2c526f Tweak fogging so that it's probably more in line with the fixed functionality, and use GLSL mix function to simplify the shader code 2016-02-24 18:45:28 +00:00
Kevin Anthoney
4dd3aa0b1a Add atmospheric fogging to shaders 2016-02-21 20:03:21 +00:00
Jens Ayton
7ccf6282fd Remove OO_REDUCED_COMPLEXITY usage 2014-03-15 11:49:41 +01:00
Nikos Barkas
afb09f9a7e Here goes another year. Happy 2013. The Reference Sheet and the Readme still need to have year references bumped.
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@5596 127b21dd-08f5-0310-b4b7-95ae10353056
2012-12-31 09:00:28 +00:00
Marc
b353faef84 A mixed bag:
* change: specifically setting empty comms_log_gui & message_gui sections inside hud plists now resets those guis to Oolite's default. Updated standard huds accordingly.
 * bugfix: fixed crash with malformed gui declarations inside hud plists - trunk & maintenance.
 * change: internal name of commodity identifiers normalised: 'liquor/wines', 'alien items', 'gem-stones' are now expressed internally as 'liguor_wines', 'alien_items' and 'gem_stones' - in most cases the old identifiers are still recognised, for backward compatibility.
 - linux build and windows build directories separated, both can now share the same source directory without build conflicts.
 - updated copyright notice in shaders files, minor planet drawable cleanup.

git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@4826 127b21dd-08f5-0310-b4b7-95ae10353056
2012-04-01 13:27:36 +00:00
Jens Ayton
121f6ef237 Slightly simplified default fragment shader now that we don't need to worry about Mac OS X 10.4 compatibility.
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@4739 127b21dd-08f5-0310-b4b7-95ae10353056
2012-01-16 18:53:56 +00:00
Jens Ayton
dd205c915b Fixed a shader error when using normal map but no specular lighting at all. Odd thing to do, but valid.
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@3390 127b21dd-08f5-0310-b4b7-95ae10353056
2010-05-21 15:01:48 +00:00
Jens Ayton
084248f98f Tiny tweaks: renamed AI methods scanFor{Nearest|Random}Merchantmen to ...Merchantman (with compatibility aliases). Removed all Light 0 stuff from shaders. Belatedly bumped cache format version for changed dust shader.
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@3314 127b21dd-08f5-0310-b4b7-95ae10353056
2010-05-09 23:13:12 +00:00
Jens Ayton
12016a853b Cleaned up redundant dual licensing headers as previously discussed. Gosh, there's a lot of them. Feel free to ad your name or 'and contributors' as appropriate. Also, excluded unused classes OOCamera and OOLight from build, but didn't delete them.
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@3263 127b21dd-08f5-0310-b4b7-95ae10353056
2010-05-02 12:32:43 +00:00
Jens Ayton
45380f2f9e Changed coordinate scheme for non-shader/default-shader cube maps to be based on vertex positions rather than normals.
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@3180 127b21dd-08f5-0310-b4b7-95ae10353056
2010-04-21 19:12:26 +00:00
Jens Ayton
ab623a5c94 * Big unified emission and illumination map thingy for non-shader mode. Known
limitations:
  - causes synchronous wait for component textures to load.
  - Component textures are cached unnecessarily.
* cleanup of material dictionary handling.
* Added foo_color variants of material colour key names.
* Added illumination_color material property.

git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@3178 127b21dd-08f5-0310-b4b7-95ae10353056
2010-04-21 18:21:29 +00:00
Jens Ayton
d8d5393d4e Workaround for Svengali's GLSL preprocessor bug.
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@3132 127b21dd-08f5-0310-b4b7-95ae10353056
2010-04-07 22:35:24 +00:00
Jens Ayton
fa25226d5f Cube mapping (for diffuse map) supported in default shader.
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@3123 127b21dd-08f5-0310-b4b7-95ae10353056
2010-04-05 14:32:33 +00:00
Jens Ayton
02e4b2bf8a Fixed Mac build.
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@3060 127b21dd-08f5-0310-b4b7-95ae10353056
2010-03-13 15:05:22 +00:00
Marc
3320a6bc4d - Faster lights on/off implementation for shaders (as per bug #16268), included within a slight lighting & update method rewrite. Not directly usable as dimmer switch yet, but can be easily adapted to that purpose.
- OOGL wrapper added to a few stray opengl instructions from a previous commit.
- Possible fix for lower end graphic cards F7 lighting direction bug, as reported by a_c.
- Hopefully the last rename for the 'old' setSunCenterPosition method from rev2936

git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@2962 127b21dd-08f5-0310-b4b7-95ae10353056
2010-01-11 20:53:02 +00:00
Marc
193a5b5c4c - Lights on on/off switch added to shaders, could also be used as a dimmer switch in the future. :) This should finally fix bug #16268: Lighting issues for shaders.
- HUD whitelisting, part 0.5!

git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@2952 127b21dd-08f5-0310-b4b7-95ae10353056
2010-01-10 10:23:20 +00:00
Jens Ayton
f1393d68b5 Cleanup; fixed a bug in default shader with normal mapping; less harsh shadows on shaderless new planets.
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@2950 127b21dd-08f5-0310-b4b7-95ae10353056
2010-01-09 20:18:21 +00:00
Jens Ayton
8a4c33aff7 Fixed bug where ambient light level was multiplied with itself in default shader.
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@2871 127b21dd-08f5-0310-b4b7-95ae10353056
2009-12-10 17:45:54 +00:00
Jens Ayton
022f22173b Fixed normal-mapping bug in default shader.
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@2054 127b21dd-08f5-0310-b4b7-95ae10353056
2009-02-11 19:26:31 +00:00
Jens Ayton
2612658ce8 Various tweaks to make reuse in tools easier.
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@1887 127b21dd-08f5-0310-b4b7-95ae10353056
2008-11-30 02:03:27 +00:00
Jens Ayton
1cb2df40dd Cleaned up shaders slightly.
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@1886 127b21dd-08f5-0310-b4b7-95ae10353056
2008-11-28 20:20:58 +00:00
Jens Ayton
ab24d9efd3 Rewrote default shader to work in tangent space and support normal mapping.
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@1885 127b21dd-08f5-0310-b4b7-95ae10353056
2008-11-28 19:37:47 +00:00
Jens Ayton
f68d550d8e Added JS Ship methods dumpCargo(), ejectItem() and ejectSpecificItem(). Spotlight indexer now indexes required.plist max_version for display in More Info. Fix for internal consistency in default fragment shader's handling of specular exponents.
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@1471 127b21dd-08f5-0310-b4b7-95ae10353056
2008-03-09 15:27:06 +00:00
Jens Ayton
856409ed46 Added ability to explicitly bind shaders to subentity rather than root entity (backported to 1.70-m). Added support for hull heat glow to default shader (full shader mode only). Added Eric Walch's list of pre-existing roles to pirate-victim-roles.plist.
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@1265 127b21dd-08f5-0310-b4b7-95ae10353056
2007-12-05 14:32:56 +00:00
Jens Ayton
3fbc24887d * All ships now have a JavaScript script attached, allowing JS scripts to
add behaviours to any ship.
* Legacy script_actions, setup_actions, launch_actions and death_actions
  handled through default JavaScript script.
* In order to implement the above, JS Ship now has a runLegacyScriptActions
  method. This is not to be exposed as an "official" method, though, since
  we might want to change the mechanism -- for instance, to "compile"
  legacy scripts into JS. Handling dynamically-generated legacy scripts in
  that case would be a significant complication.
* Updates for Mac OS X 10.5 "Leopard".
  - Errors on reading/writing plist will not cause a crash if building
    against the Leopard SDK. (I have no intention of requiring Leopard any
    time soon, but future-proofing is good.)
  - OOWeakReference is now more efficient when running under Leopard, by
    implementing the new "fast forwarding" mechanism.
  - Threads now have names set under Leopard, which may provide debugging
    advantages.
  - Fixed some new build warnings for new version of apple-gcc.
  - Updated type declarations to identify Oolite saved games as property
    lists.
* Cleaned up PlayerEntityControls.m somewhat. Moved method declarations
  into files, fixed indentation, broke up monster giant method of doom.
* Script-generated asteroids now behave like system populator-generated
  asteroids (As Seen on BB[TM]).
* Minor optimizations and simplifications of legacy script engine.
* JS System.filteredEntities() now has sensible behaviour if predicate
  throws an exception: the predicate is not called again, and null is
  returned. The exception is reported and not rethrown.


git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@1240 127b21dd-08f5-0310-b4b7-95ae10353056
2007-11-23 15:04:14 +00:00
Jens Ayton
44fd79dc64 Cache synthesized material dictionaries. Added sendScriptMessage: AI method.
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@1231 127b21dd-08f5-0310-b4b7-95ae10353056
2007-10-23 07:36:58 +00:00
Jens Ayton
9d9128bcb1 * Got Game Options submenu working under OS X.
* Save reduced detail, wireframe and shader settings in preferences.
* Implemented variable shader complexity support.
Added default shader, used for all otherwise-unshaded ships with full shaders on, and for smooth ships or ships with effect maps specified in material dictionary with simple shaders.
* All ships now drawn with slight specular highlight by default (shininess = 10, intensity = 0.2) except in reduced detail mode.
* (JS) Made Ship.shipDescription read-write (except for the player).
* (JS) Added global function ExpandDescription(string : String), to perform substitutions like %H, [commander_name] and so forth. 
* (JS) Added global function RandomName(), intended to be like %R substitution. In so doing, I discovered that %R is broken, but left it as-is so it will generate the same name for existing descriptions. Added %X to do the same thing, but without the bugs. RandomName() is different from either in that it doesn't use the "predictable" PRNG, so it will provide a new name each time. To use the "predictable" variant in JavaScript, use ExpandDescription("%X"). 
* Ships that hyperspace out are no longer replenished in interstellar space.

git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@1228 127b21dd-08f5-0310-b4b7-95ae10353056
2007-10-22 12:18:18 +00:00