bool LightsHolder::init(std::vector<LightEffect *> effectsArray, Sprite *image) { if (initGLProgramState("Assets/image/makkajai/Shaders3D/pointlight.frag")) { _effectsArray = effectsArray; int idx = 0; sprite = image; for (auto &ef : _effectsArray) { if (ef != nullptr) { v3Color[idx] = Vec3(ef->getLightColor().r, ef->getLightColor().g, ef->getLightColor().b) / 255; lightCutoffRadius[idx] = ef->getLightCutoffRadius(); lightHalfRadius[idx] = ef->getLightHalfRadius(); Point posRelToSprite = PointApplyAffineTransform(Point(ef->getLightPos().x, ef->getLightPos().y), sprite->getWorldToNodeAffineTransform()); _lightPos[idx] = Vec3(posRelToSprite.x, posRelToSprite.y, ef->getLightPos().z); brightness[idx] = ef->getBrightness(); } idx++; } _lightsNumber = idx; setLightColor(); setAmbientLightColor(cocos2d::Color3B(55, 55, 55)); setLightCutoffRadius(); setLightHalfRadius(); // setBrightness(); return true; } return false; }
bool LightEffect::init() { setLightColor(cocos2d::Color3B::WHITE); setLightCutoffRadius(500.0f); setLightHalfRadius(0.5f); return true; }
bool LightEffect::init() { if (initGLProgramState("pointlight.frag")) { setLightColor(cocos2d::Color3B::WHITE); setAmbientLightColor(cocos2d::Color3B(127,127,127)); setLightCutoffRadius(500.0f); setLightHalfRadius(0.5f); return true; } return false; }