Skip to content

Commit b3192b8

Browse files
authored
Merge pull request #13575 from bghgary/native-scale-fix
Fix adaptToDeviceRatio for native engine
2 parents b8826fa + 239a5f5 commit b3192b8

File tree

3 files changed

+8
-8
lines changed

3 files changed

+8
-8
lines changed

packages/dev/core/src/Engines/Native/nativeInterfaces.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -81,7 +81,7 @@ export interface INativeEngine {
8181

8282
getRenderWidth(): number;
8383
getRenderHeight(): number;
84-
getHardwareScalingLevel(): number;
84+
8585
setHardwareScalingLevel(level: number): void;
8686

8787
setViewPort(x: number, y: number, width: number, height: number): void;

packages/dev/core/src/Engines/nativeEngine.ts

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -201,11 +201,8 @@ export class NativeEngine extends Engine {
201201
private _zOffsetUnits: number = 0;
202202
private _depthWrite: boolean = true;
203203

204-
public getHardwareScalingLevel(): number {
205-
return this._engine.getHardwareScalingLevel();
206-
}
207-
208204
public setHardwareScalingLevel(level: number): void {
205+
super.setHardwareScalingLevel(level);
209206
this._engine.setHardwareScalingLevel(level);
210207
}
211208

@@ -357,10 +354,13 @@ export class NativeEngine extends Engine {
357354
writable: true,
358355
});
359356
}
357+
360358
// Currently we do not fully configure the ThinEngine on construction of NativeEngine.
361359
// Setup resolution scaling based on display settings.
362360
const devicePixelRatio = window ? window.devicePixelRatio || 1.0 : 1.0;
363-
this._hardwareScalingLevel = options.adaptToDeviceRatio ? devicePixelRatio : 1.0;
361+
this._hardwareScalingLevel = options.adaptToDeviceRatio ? 1.0 / devicePixelRatio : 1.0;
362+
this._engine.setHardwareScalingLevel(this._hardwareScalingLevel);
363+
this._lastDevicePixelRatio = devicePixelRatio;
364364
this.resize();
365365

366366
const currentDepthFunction = this.getDepthFunction();

packages/dev/core/src/Engines/thinEngine.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -585,7 +585,7 @@ export class ThinEngine {
585585
*/
586586
public adaptToDeviceRatio: boolean = false;
587587
/** @internal */
588-
private _lastDevicePixelRatio: number = 1.0;
588+
protected _lastDevicePixelRatio: number = 1.0;
589589

590590
/** @internal */
591591
public _transformTextureUrl: Nullable<(url: string) => string> = null;
@@ -4528,7 +4528,7 @@ export class ThinEngine {
45284528
*/
45294529
public updateTextureSamplingMode(samplingMode: number, texture: InternalTexture, generateMipMaps: boolean = false): void {
45304530
const target = this._getTextureTarget(texture);
4531-
const filters = this._getSamplingParameters(samplingMode, texture.generateMipMaps || generateMipMaps);
4531+
const filters = this._getSamplingParameters(samplingMode, texture.useMipMaps || generateMipMaps);
45324532

45334533
this._setTextureParameterInteger(target, this._gl.TEXTURE_MAG_FILTER, filters.mag, texture);
45344534
this._setTextureParameterInteger(target, this._gl.TEXTURE_MIN_FILTER, filters.min);

0 commit comments

Comments
 (0)