void SpriteTexture::syncToCore(const CoreSyncData& data) { char* dataPtr = (char*)data.getBuffer(); dataPtr = rttiReadElem(mUVOffset, dataPtr); dataPtr = rttiReadElem(mUVScale, dataPtr); SPtr<Texture>* texture = (SPtr<Texture>*)dataPtr; mAtlasTexture = *texture; texture->~SPtr<Texture>(); dataPtr += sizeof(SPtr<Texture>); dataPtr = rttiReadElem(mAnimation, dataPtr); dataPtr = rttiReadElem(mPlayback, dataPtr); }
void LightCore::syncToCore(const CoreSyncData& data) { char* dataPtr = (char*)data.getBuffer(); UINT32 dirtyFlags = 0; bool oldIsActive = mIsActive; LightType oldType = mType; dataPtr = rttiReadElem(mPosition, dataPtr); dataPtr = rttiReadElem(mRotation, dataPtr); dataPtr = rttiReadElem(mType, dataPtr); dataPtr = rttiReadElem(mCastsShadows, dataPtr); dataPtr = rttiReadElem(mColor, dataPtr); dataPtr = rttiReadElem(mRange, dataPtr); dataPtr = rttiReadElem(mIntensity, dataPtr); dataPtr = rttiReadElem(mSpotAngle, dataPtr); dataPtr = rttiReadElem(mSpotFalloffAngle, dataPtr); dataPtr = rttiReadElem(mPhysCorrectAtten, dataPtr); dataPtr = rttiReadElem(mIsActive, dataPtr); dataPtr = rttiReadElem(dirtyFlags, dataPtr); dataPtr = rttiReadElem(mBounds, dataPtr); updateBounds(); if (dirtyFlags == (UINT32)LightDirtyFlag::Transform) { if (mIsActive) gRenderer()->notifyLightUpdated(this); } else { if (oldIsActive != mIsActive) { if (mIsActive) gRenderer()->notifyLightAdded(this); else { LightType newType = mType; mType = oldType; gRenderer()->notifyLightRemoved(this); mType = newType; } } else { LightType newType = mType; mType = oldType; gRenderer()->notifyLightRemoved(this); mType = newType; gRenderer()->notifyLightAdded(this); } } }
void RenderSettings::_setSyncData(UINT8* buffer, UINT32 size) { char* readSource = (char*)buffer; readSource = rttiReadElem(enableAutoExposure, readSource); readSource = rttiReadElem(enableTonemapping, readSource); readSource = rttiReadElem(exposureScale, readSource); readSource = rttiReadElem(gamma, readSource); readSource = rttiReadElem(enableFXAA, readSource); readSource = rttiReadElem(enableHDR, readSource); readSource = rttiReadElem(enableLighting, readSource); readSource = rttiReadElem(enableShadows, readSource); readSource = rttiReadElem(enableIndirectLighting, readSource); readSource = rttiReadElem(overlayOnly, readSource); readSource = rttiReadElem(enableSkybox, readSource); readSource = rttiReadElem(autoExposure.histogramLog2Min, readSource); readSource = rttiReadElem(autoExposure.histogramLog2Max, readSource); readSource = rttiReadElem(autoExposure.histogramPctLow, readSource); readSource = rttiReadElem(autoExposure.histogramPctHigh, readSource); readSource = rttiReadElem(autoExposure.minEyeAdaptation, readSource); readSource = rttiReadElem(autoExposure.maxEyeAdaptation, readSource); readSource = rttiReadElem(autoExposure.eyeAdaptationSpeedUp, readSource); readSource = rttiReadElem(autoExposure.eyeAdaptationSpeedDown, readSource); readSource = rttiReadElem(tonemapping.filmicCurveShoulderStrength, readSource); readSource = rttiReadElem(tonemapping.filmicCurveLinearStrength, readSource); readSource = rttiReadElem(tonemapping.filmicCurveLinearAngle, readSource); readSource = rttiReadElem(tonemapping.filmicCurveToeStrength, readSource); readSource = rttiReadElem(tonemapping.filmicCurveToeNumerator, readSource); readSource = rttiReadElem(tonemapping.filmicCurveToeDenominator, readSource); readSource = rttiReadElem(tonemapping.filmicCurveLinearWhitePoint, readSource); readSource = rttiReadElem(whiteBalance.temperature, readSource); readSource = rttiReadElem(whiteBalance.tint, readSource); readSource = rttiReadElem(colorGrading.saturation, readSource); readSource = rttiReadElem(colorGrading.contrast, readSource); readSource = rttiReadElem(colorGrading.gain, readSource); readSource = rttiReadElem(colorGrading.offset, readSource); readSource = rttiReadElem(depthOfField.enabled, readSource); readSource = rttiReadElem(depthOfField.focalDistance, readSource); readSource = rttiReadElem(depthOfField.focalRange, readSource); readSource = rttiReadElem(depthOfField.nearTransitionRange, readSource); readSource = rttiReadElem(depthOfField.farTransitionRange, readSource); readSource = rttiReadElem(depthOfField.nearBlurAmount, readSource); readSource = rttiReadElem(depthOfField.farBlurAmount, readSource); readSource = rttiReadElem(ambientOcclusion.enabled, readSource); readSource = rttiReadElem(ambientOcclusion.radius, readSource); readSource = rttiReadElem(ambientOcclusion.bias, readSource); readSource = rttiReadElem(ambientOcclusion.fadeRange, readSource); readSource = rttiReadElem(ambientOcclusion.fadeDistance, readSource); readSource = rttiReadElem(ambientOcclusion.intensity, readSource); readSource = rttiReadElem(ambientOcclusion.power, readSource); readSource = rttiReadElem(ambientOcclusion.quality, readSource); readSource = rttiReadElem(screenSpaceReflections.enabled, readSource); readSource = rttiReadElem(screenSpaceReflections.intensity, readSource); readSource = rttiReadElem(screenSpaceReflections.maxRoughness, readSource); readSource = rttiReadElem(screenSpaceReflections.quality, readSource); readSource = rttiReadElem(shadowSettings.directionalShadowDistance, readSource); readSource = rttiReadElem(shadowSettings.numCascades, readSource); readSource = rttiReadElem(shadowSettings.cascadeDistributionExponent, readSource); readSource = rttiReadElem(shadowSettings.shadowFilteringQuality, readSource); }