Luchtreflecties
In Azure Remote Rendering wordt een luchtpatroon gebruikt om objecten realistisch te verlichten. Voor augmented reality-toepassingen moet dit patroon lijken op uw echte omgeving om objecten overtuigend te maken. In dit artikel wordt beschreven hoe u het patroon van de lucht kunt wijzigen. De lucht is alleen van invloed op het weergeven van PBR-materialen. Kleurmaterialen en puntwolken worden niet beïnvloed.
Notitie
De luchttextuur wordt ook wel een omgevingskaart genoemd. Deze termen worden door elkaar gebruikt.
Objectverlichting
Azure Remote Rendering maakt gebruik van fysiek gebaseerde rendering (PBR) voor realistische belichtingsberekeningen. Hoewel u lichtbronnen aan uw scène kunt toevoegen, heeft het gebruik van een goede luchttextuur de grootste impact.
De onderstaande afbeeldingen tonen resultaten van het verlichten van verschillende oppervlakken alleen met een luchtpatroon:
Ruwheid | 0 | 0,25 | 0,5 | 0.75 | 1 |
---|---|---|---|---|---|
Niet-metaal | |||||
Metaal |
Zie het hoofdstuk materialen voor meer informatie over het verlichtingsmodel.
Belangrijk
Azure Remote Rendering maakt alleen gebruik van het luchtpatroon voor verlichtingsmodellen. Het geeft de hemel niet weer als achtergrond, omdat Augmented Reality-toepassingen al een juiste achtergrond hebben - de echte wereld.
Het luchtpatroon wijzigen
Als u de omgevingstoewijzing wilt wijzigen, hoeft u alleen maar een patroon te laden en de sessie te SkyReflectionSettings
wijzigen:
async void ChangeEnvironmentMap(RenderingSession session)
{
try
{
Texture skyTex = await session.Connection.LoadTextureFromSasAsync(new LoadTextureFromSasOptions("builtin://VeniceSunset", TextureType.CubeMap));
session.Connection.SkyReflectionSettings.SkyReflectionTexture = skyTex;
}
catch (RRException exception)
{
System.Console.WriteLine($"Setting sky reflection failed: {exception.Message}");
}
}
void ChangeEnvironmentMap(ApiHandle<RenderingSession> session)
{
LoadTextureFromSasOptions params;
params.TextureType = TextureType::CubeMap;
params.TextureUri = "builtin://VeniceSunset";
session->Connection()->LoadTextureFromSasAsync(params, [&](Status status, ApiHandle<Texture> res) {
if (status == Status::OK)
{
ApiHandle<SkyReflectionSettings> settings = session->Connection()->GetSkyReflectionSettings();
settings->SetSkyReflectionTexture(res);
}
else
{
printf("Texture loading failed!\n");
}
});
}
De LoadTextureFromSasAsync
variant wordt hierboven gebruikt omdat een ingebouwde textuur wordt geladen. Wanneer u in plaats daarvan vanuit gekoppelde blobopslags laadt , gebruikt u de LoadTextureAsync
variant.
Sky-patroontypen
U kunt zowel kubuskaarten als 2D-patronen gebruiken als omgevingskaarten.
Alle patronen moeten een ondersteunde textuurindeling hebben. U hoeft geen mipmaps op te geven voor luchttextuur.
Kubusomgevingstoewijzingen
Ter referentie ziet u hier een uitgepakte kubuskaart:
Gebruik RenderingSession.Connection.LoadTextureAsync
/ LoadTextureFromSasAsync
dit om TextureType.CubeMap
cubemap-patronen te laden.
Sphere-omgevingskaarten
Wanneer u een 2D-patroon als omgevingskaart gebruikt, moet de afbeelding zich in de bolvormige coördinaatruimte bevinden.
Gebruik RenderingSession.Connection.LoadTextureAsync
dit om TextureType.Texture2D
sferische omgevingskaarten te laden.
Ingebouwde omgevingstoewijzingen
Azure Remote Rendering biedt een aantal ingebouwde omgevingstoewijzingen die altijd beschikbaar zijn. Alle ingebouwde omgevingstoewijzingen zijn kubuskaarten.
Identificatie | Beschrijving | Illustratie |
---|---|---|
builtin://Autoshop | Verscheidenheid aan stripe verlichting, heldere binnenbasisverlichting | |
builtin://BoilerRoom | Heldere binnenlichtinstelling, meerdere vensterlichten | |
builtin://ColorfulStudio | Variërend gekleurde lichten in middellichte binneninstelling | |
builtin://Hangar | Gemiddeld helder omgevingshallicht | |
builtin://IndustrialPipeAndValve | Dim indoor instelling met licht-donker contrast | |
builtin://Lebombo | Overdag omgevingsruimtelicht, helder vensterlicht | |
builtin://SataraNight | Donkere nachthemel en grond met veel omringende lichten | |
builtin://SunnyVondelpark | Helder zonlicht en schaduwcontrast | |
builtin://Syferfontein | Helder hemellicht met gematigde grondverlichting | |
builtin://TearsOfSteelBridge | Matig variërende zon en schaduw | |
builtin://VeniceSunset | Avond zonsondergang licht naderende schemering | |
builtin://WhippleCreekRegionalPark | Helder, weelderig groen en witte lichttinten, gedimde grond | |
builtin://WinterRiver | Overdag met helder omgevingsgrondlicht | |
builtin://DefaultSky | Hetzelfde als TearsOfSteelBridge |
API-documentatie
- Eigenschap C# RenderingConnection.SkyReflectionSettings
- C++ RenderingConnection::SkyReflectionSettings()