mirror of
https://github.com/TorqueGameEngines/Torque3D.git
synced 2026-04-20 11:55:33 +00:00
decal atlas support work
allow a textureCoordCount to be used raw when texrows and coumns are not >1 in order to let the transmitted vector actually be used
correct and augment editDecalDetails to now read
DecalEditorGui.editDecalDetails( %this.instanceId, %pos, %tan, %size, %uvID );
it needed the word split to begin with, and also added the uvID for instance frame tracking/overriding
same token added a getDecalFrame(%this.instanceId); method
todos: add a frame lookup and selector for the instance tab, modify decal display to account for non-square uv portions
This commit is contained in:
parent
12db0500e8
commit
82435693dd
4 changed files with 30 additions and 12 deletions
|
|
@ -406,12 +406,15 @@ void DecalData::reloadRects()
|
|||
bool canRenderColsByFrame = false;
|
||||
S32 id = 0;
|
||||
|
||||
texRect[id].point.x = 0.f;
|
||||
texRect[id].extent.x = 1.f;
|
||||
texRect[id].point.y = 0.f;
|
||||
texRect[id].extent.y = 1.f;
|
||||
|
||||
texCoordCount = (texRows * texCols) - 1;
|
||||
|
||||
if (texRows > 1 || texCols > 1)
|
||||
{
|
||||
texCoordCount = (texRows * texCols) - 1;
|
||||
texRect[id].point.x = 0.f;
|
||||
texRect[id].extent.x = 1.f;
|
||||
texRect[id].point.y = 0.f;
|
||||
texRect[id].extent.y = 1.f;
|
||||
}
|
||||
|
||||
if( texCoordCount > 16 )
|
||||
{
|
||||
|
|
|
|||
|
|
@ -854,7 +854,7 @@ DefineEngineMethod( GuiDecalEditorCtrl, selectDecal, void, ( U32 id ), , "select
|
|||
object->selectDecal( decalInstance );
|
||||
}
|
||||
|
||||
DefineEngineMethod( GuiDecalEditorCtrl, editDecalDetails, void, ( U32 id, Point3F pos, Point3F tan,F32 size ), , "editDecalDetails( S32 )()" )
|
||||
DefineEngineMethod( GuiDecalEditorCtrl, editDecalDetails, void, ( U32 id, Point3F pos, Point3F tan, F32 size, S32 uvID), , "editDecalDetails( S32,Point3F,Point3F,F32,S32 )()" )
|
||||
{
|
||||
DecalInstance *decalInstance = gDecalManager->mDecalInstanceVec[id];
|
||||
if( decalInstance == NULL )
|
||||
|
|
@ -864,7 +864,8 @@ DefineEngineMethod( GuiDecalEditorCtrl, editDecalDetails, void, ( U32 id, Point3
|
|||
decalInstance->mPosition = pos;
|
||||
decalInstance->mTangent = tan;
|
||||
decalInstance->mSize = size;
|
||||
|
||||
decalInstance->mTextureRectIdx = uvID;
|
||||
|
||||
if ( decalInstance == object->mSELDecal )
|
||||
object->setGizmoFocus( decalInstance );
|
||||
|
||||
|
|
@ -873,6 +874,11 @@ DefineEngineMethod( GuiDecalEditorCtrl, editDecalDetails, void, ( U32 id, Point3
|
|||
gDecalManager->notifyDecalModified( decalInstance );
|
||||
}
|
||||
|
||||
DefineEngineMethod(GuiDecalEditorCtrl, getDecalFrame, S32, (U32 id), , "")
|
||||
{
|
||||
return gDecalManager->mDecalInstanceVec[id]->mTextureRectIdx;
|
||||
}
|
||||
|
||||
DefineEngineMethod( GuiDecalEditorCtrl, getSelectionCount, S32, (), , "" )
|
||||
{
|
||||
if ( object->mSELDecal != NULL )
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue