Skip to content
Snippets Groups Projects
Select Git revision
  • 32256e4c757a52efba72fb1642e8d0cf487937e8
  • branchX default protected
  • Inventory
  • UIControls
  • fsv2
  • tonetest
  • from_nb
  • tonemapping
  • opt-shadows
  • BX-634
  • xCSG
  • hc
  • gizmos
  • gui2CSSLexer
  • msExporter
  • gui2
  • gui2Fix
  • master protected
  • pk
  • mesh_optimize
  • light_wip
  • version_X.11.2 protected
  • version_X.11.1 protected
  • version_X.11.1-dev protected
  • version_X.11.0-dev protected
  • version_X.10.1 protected
  • version_X.10.1-dev protected
  • version_X.10.0-dev protected
  • version_X.9.5 protected
  • version_X.9.4 protected
  • version_X.9.3 protected
  • version_X.9.3-dev protected
  • version_X.9.2-dev protected
  • version_X.9.1-dev protected
  • version_X.9.0-dev protected
  • version_X.8.2 protected
  • version_X.8.2-dev protected
  • version_X.8.1-dev protected
  • version_X.8.0-dev protected
  • version_X.7.1 protected
  • version_X.7.0 protected
41 results

LightPoint.cpp

Blame
  • LightPoint.cpp 3.23 KiB
    
    /***********************************************************
    Copyright © Vitaliy Buturlin, Evgeny Danilovich, 2017, 2018
    See the license in LICENSE
    ***********************************************************/
    
    #include "LightPoint.h"
    
    #include <light/sxlight.h>
    
    /*! \skydocent light_point
    Точечный источник света
    */
    
    BEGIN_PROPTABLE(CLightPoint)
    	//! Цвет
    	DEFINE_FIELD_VECTOR(m_vColor, 0, "color", "Color", EDITOR_TEXTFIELD)
    	//! Дальность
    	DEFINE_FIELD_FLOAT(m_fDist, 0, "dist", "Distance", EDITOR_TEXTFIELD)
    	//! Дальность дальняя
    	DEFINE_FIELD_FLOAT(m_fShadowDist, 0, "light_far", "Shadow far plane", EDITOR_TEXTFIELD)
    
    	//! Тип тени
    	DEFINE_FIELD_INT(m_iShadowType, 0, "type_shadow", "Type shadow", EDITOR_COMBOBOX)
    		COMBO_OPTION("None", "-1")   //!< Нет
    		COMBO_OPTION("Static", "0")  //!< Статическая тень
    		COMBO_OPTION("Dynamic", "1") //!< Динамическая тень
    	EDITOR_COMBO_END()
    
    	//! Включить
    	DEFINE_INPUT(turnOn, "turnOn", "Turn On", PDF_NONE)
    	//! Выключить
    	DEFINE_INPUT(turnOff, "turnOff", "Turn Off", PDF_NONE)
    
    	//! При включении
    	DEFINE_OUTPUT(m_onTurnOn, "OnTurnOn", "On Turn On")
    	//! При выключении
    	DEFINE_OUTPUT(m_onTurnOff, "OnTurnOff", "On Turn Off")
    
    	//! Изначально выключена
    	DEFINE_FLAG(LIGHT_INITIALLY_DARK, "Initially dark")
    END_PROPTABLE()
    
    REGISTER_ENTITY(CLightPoint, light_point);
    
    CLightPoint::CLightPoint(CEntityManager * pMgr) :
    BaseClass(pMgr)
    {
    	m_vColor = float3(1, 1, 1);
    	m_fDist = 10;
    	m_fShadowDist = m_fDist;
    	m_iShadowType = 1;
    	m_idLight = SLight_CreatePoint(&float3(0, 0, 0), m_fDist, &(float3)m_vColor, false, true);
    }
    
    CLightPoint::~CLightPoint()
    {
    	SLight_DeleteLight(m_idLight);
    }
    
    void CLightPoint::toggleEnable()
    {
    	m_isEnable = !m_isEnable;
    	SLight_SetEnable(m_idLight, m_isEnable);
    }
    
    void CLightPoint::onSync()
    {
    	BaseClass::onSync();