Single-sided Rendering
Per migliorare le prestazioni, la maggior parte dei renderer usa il back-face culling, ossia l'eliminazione delle facce posteriori. Tuttavia, quando le mesh vengono aperte con piani di taglio, gli utenti spesso osservano il lato posteriore dei triangoli. Se questi triangoli non vengono raffigurati, il risultato non è convincente.
Per evitare in modo affidabile questo problema, è necessario eseguire il rendering di entrambi i lati dei triangoli. Poiché non usare il back-face culling ha implicazioni sulle prestazioni, per impostazione predefinita Rendering remoto di Azure passa al rendering di entrambi i lati solo per le mesh che intersecano un piano di taglio.
L'impostazione single-sided di rendering consente di personalizzare questo comportamento.
Attenzione
L'impostazione di single-sided rendering è una funzionalità sperimentale. Potrebbe essere rimossa in futuro. Non modificare l'impostazione predefinita, a meno che non risolva un problema critico nell'applicazione.
Prerequisiti
L'impostazione single-sided di rendering ha solo un effetto per le mesh convertite con l'opzione opaqueMaterialDefaultSidedness
impostata su SingleSided
. Per impostazione predefinita, questa opzione è impostata su DoubleSided
.
Single-sided impostazione di rendering
Esistono tre modalità diverse:
Normale: in questa modalità, il rendering delle mesh viene sempre eseguito durante la conversione. In altre parole, il rendering delle mesh convertite con opaqueMaterialDefaultSidedness
impostato su SingleSided
viene sempre eseguito con il back-face culling abilitato, anche se intersecano un piano di taglio.
DynamicDoubleSiding: in questa modalità, quando un piano di taglio interseca una mesh, viene automaticamente impostato sul rendering a doppio lato. Questa è la modalità predefinita.
AlwaysDoubleSided: forza il rendering di tutte le geometrie a lato singolo in qualsiasi momento. Questa modalità è prevalentemente esposta in modo da poter confrontare facilmente l'impatto sulle prestazioni tra single-sided e double-sided il rendering.
La modifica delle impostazioni di single-sided rendering può essere eseguita nel modo seguente:
void ChangeSingleSidedRendering(RenderingSession session)
{
SingleSidedSettings settings = session.Connection.SingleSidedSettings;
// Single-sided geometry is rendered as is
settings.Mode = SingleSidedMode.Normal;
// Single-sided geometry is always rendered double-sided
settings.Mode = SingleSidedMode.AlwaysDoubleSided;
}
void ChangeSingleSidedRendering(ApiHandle<RenderingSession> session)
{
ApiHandle<SingleSidedSettings> settings = session->Connection()->GetSingleSidedSettings();
// Single-sided geometry is rendered as is
settings->SetMode(SingleSidedMode::Normal);
// Single-sided geometry is always rendered double-sided
settings->SetMode(SingleSidedMode::AlwaysDoubleSided);
}
Documentazione sull'API
- Rendering C#Connessione ion. Proprietà SingleSided Impostazioni
- Rendering C++Connessione ion::SingleSided Impostazioni()