void GPUBillboardSet::setBillboardSize(Ogre::Vector2 size) { // The billboard size is stored as custom parameter #0 of this renderable. // In "Vertex shader only" mode, the parameter is used by the vertex program, // In "Vertex+Geometry shader" mode, it is used by the geometry program. setCustomParameter(0, Ogre::Vector4(size.x, size.y, 0.f, 0.f)); mBillboardSize = size; }
static LOWERCODESIZE void displayUIParameter(int8_t num) { int8_t i; char s[20]; const struct uiParam_s * prm = &uiParameters[ui.activeParamIdx]; ui_setNoActivePot(); strcpy(s,prm->name); strcat(s,"= "); switch(prm->type) { case ptCont: s[strlen(s)-1]='\0'; // remove trailing space ui.lastActivePotValue=ui.adjustedLastActivePotValue=currentPreset.continuousParameters[prm->number]; break; case ptStep: strcat(s,prm->values[currentPreset.steppedParameters[prm->number]]); break; case ptCust: // reverse lookup for uiParam value (assumes only steppedParameters will be modified) memcpy(tempBuffer,currentPreset.steppedParameters,sizeof(currentPreset.steppedParameters)); for(i=0;i<4;++i) { setCustomParameter(prm->number,i); if(!memcmp(tempBuffer,currentPreset.steppedParameters,sizeof(currentPreset.steppedParameters))) { strcat(s,prm->values[i]); break; } } break; } sevenSeg_scrollText(s,1); }
PlanetFilter::PlanetFilter(int face, int lod, int x, int y, int size, int border) : SimpleRenderable() { initRenderOp(); initVertexData(lod, x, y, size, border); Real height = getReal("planet.height"); Real radius = getReal("planet.radius"); setMaterial("BaseWhiteNoLighting"); // SampleDistance setCustomParameter(1, Vector4(1.0 / (size + border), 0, 0, 0)); // inverseSampleDistance setCustomParameter(2, Vector4(((border + size) << lod) * .25, 0, 0, 0)); // heightScale setCustomParameter(3, Vector4(height / radius, 0, 0, 0)); // Something weird here with vertical axis mapping. Matrix3 faceTransform = PlanetCube::getFaceTransform(face); setCustomParameter(4, Vector4(faceTransform[0][0], faceTransform[1][0], faceTransform[2][0], 0)); setCustomParameter(5, Vector4(-faceTransform[0][1],-faceTransform[1][1],-faceTransform[2][1], 0)); setCustomParameter(6, Vector4(faceTransform[0][2], faceTransform[1][2], faceTransform[2][2], 0)); }