From 260fd1757389b3b050186b4919c4524a171cb60d Mon Sep 17 00:00:00 2001 From: Robert Osfield Date: Mon, 25 Feb 2002 23:14:27 +0000 Subject: [PATCH] Added LightModel.cpp's to Codewarrior files and added definiations for pre gl version 1.2 headers lack of support for color control. --- Metrowerks/OpenSceneGraph.mcp | Bin 494816 -> 494816 bytes src/osg/LightModel.cpp | 25 ++++++++++++++++++++++++- 2 files changed, 24 insertions(+), 1 deletion(-) diff --git a/Metrowerks/OpenSceneGraph.mcp b/Metrowerks/OpenSceneGraph.mcp index 015100bf42776c7801fd68d41d75570d5c670d5c..e61bbd1f53644ac8116638ce857e84e702ca1e18 100644 GIT binary patch delta 851 zcmX|9TS!z<6g_9(xsRD<95rVglq|^@A0ds8>1CEk*+X+O(~-)z zQJt;^Qq9_)#1_G}1v?TD4uoA*c4paPaTkZ!iip=fC*{Q`c)@)Al4{VNtWH|3+Mx_j zwl1pZqS5QlHWd%_`+2{gCYW5MZI@d6$^y+To!L#nAo-uN&_h#$HWJxOwbct&;CBW1 zVrNrJG*%7=PZ8o-U?bzyHGSMgfmim>NHE@c1}8$}^yRGIoQ|>SB^o1#J3@ri+>EyH zeQ)VcKHUS1h}rx7G}z6!E34wh7$^BE{&fzdGPZKn+L>Xuwt-iG{^>9 zqRea!P{)omz&y`ugpC|A5}n8Q9p|YWhZiL*El7Xx!y!5a{8cZ#Wm0ECHg$5?!q?rx zn80de>Kt5I284hx@s(w9K35KRb`jEaj~BVJ4P+Z9j$ey5^^Qe zsFgNDBCz*qqQc8EL~b4Q6-wM!D6>?$n=jYN6#&6BUeGA-QUv&FVa@Gwc8YQu9gOYj g3$`Kaf4i}qpK#;nv+eQ$kgB^edB@i}<+bhq09P&MAOHXW delta 733 zcmYk)T}V?=902fh{&#n0Tl-MkrunfN%uN$aO-w|`g8Tx-H9s;kMcu$8KS~4ll99nE zk(^gKNRd7Cpc!P`@<2W0gZSn{F9nq)l+fD*sRzU8e`P@ze&^$V{`c^|=br6(*Y>{g_#5)!raPNj;XM7Ula3m27vjWz0xu6x~J> zN?q^rM6_K*+o@g0b5F@x>h#k&swO(jAnr@>$;M4vut#h7+6eWC{ViAov0Dz^I^|8p zjQB7{ef{y;CGH!hR<_{8sv8#h^c>9)vTb<}X@# zSp+udJJ3#|$Qx>EYB?-6*|6GBYcM(XT0)VL-W!qdiTcsVz=#&*Rc%n!TKWI z;mCDuxxS{pp&EbJX%TOOHV}z+xG7T~AMAu7vC|2+sCdEQD2)eKMQIQGF5zEiAy>4_ z!D=nF@kAB)#Iq^5#I$(c;i7UeY*88~jr{X06dXokfgL~+(uu&196iGp>{EpJzl-7x zx=+Pxm%dBS9!~BN5;;i5GJRTX!TySn@jJ;_Lm1M5Z+c{dXv~*|ITrNmMbOW<8&CX4 z7YhM=dm<`(Sgt{$!yX>)XN4}47r!%QV08Ej_S$7gKJIKBbcmIHRsnja9VhEz_bS^x F{udCq$YuZl diff --git a/src/osg/LightModel.cpp b/src/osg/LightModel.cpp index 2085be779..acac51896 100644 --- a/src/osg/LightModel.cpp +++ b/src/osg/LightModel.cpp @@ -18,10 +18,33 @@ LightModel::~LightModel() { } +// need to define if gl.h version < 1.2. +#ifndef GL_LIGHT_MODEL_COLOR_CONTROL +#define GL_LIGHT_MODEL_COLOR_CONTROL 0x81F8 +#endif + +#ifndef GL_SINGLE_COLOR +#define GL_SINGLE_COLOR 0x81F9 +#endif + +#ifndef GL_SEPERATE_SPECULAR_COLOR +#define GL_SEPERATE_SPECULAR_COLOR 0x81FA +#endif + + void LightModel::apply(State&) const { glLightModelfv(GL_LIGHT_MODEL_AMBIENT,_ambient.ptr()); - glLightModeli(GL_LIGHT_MODEL_COLOR_CONTROL,_colorControl); + + if (_colorControl==SEPERATE_SPECULAR_COLOR) + { + glLightModeli(GL_LIGHT_MODEL_COLOR_CONTROL,GL_SEPERATE_SPECULAR_COLOR); + } + else + { + glLightModeli(GL_LIGHT_MODEL_COLOR_CONTROL,GL_SINGLE_COLOR); + } + glLightModeli(GL_LIGHT_MODEL_LOCAL_VIEWER,_localViewer); glLightModeli(GL_LIGHT_MODEL_TWO_SIDE,_twoSided); }