@@ -155,17 +155,15 @@ class ViewHelper extends Object3D {
155
155
point . set ( 0 , 0 , 1 ) ;
156
156
point . applyQuaternion ( camera . quaternion ) ;
157
157
158
- //
159
-
160
- const x = domElement . offsetWidth - dim ;
161
- const y = renderer . isWebGPURenderer ? domElement . offsetHeight - dim : 0 ;
162
-
163
158
renderer . clearDepth ( ) ;
164
159
165
160
renderer . getViewport ( viewport ) ;
166
- renderer . setViewport ( x , y , dim , dim ) ;
161
+ renderer . setViewport ( helperViewport . x , helperViewport . y , helperViewport . z , helperViewport . w ) ;
167
162
163
+ const autoClear = renderer . autoClear ;
164
+ renderer . autoClear = false ;
168
165
renderer . render ( this , orthoCamera ) ;
166
+ renderer . autoClear = autoClear ;
169
167
170
168
renderer . setViewport ( viewport . x , viewport . y , viewport . z , viewport . w ) ;
171
169
@@ -177,8 +175,22 @@ class ViewHelper extends Object3D {
177
175
const q1 = new Quaternion ( ) ;
178
176
const q2 = new Quaternion ( ) ;
179
177
const viewport = new Vector4 ( ) ;
178
+ const helperViewport = new Vector4 ( domElement . offsetWidth - dim , 0 , dim , dim ) ;
180
179
let radius = 0 ;
181
180
181
+ /**
182
+ * Sets the viewport for the helper.
183
+ * @param {number } x viewport x
184
+ * @param {number } y viewport y
185
+ * @param {number } width viewport width
186
+ * @param {number } height viewport height
187
+ */
188
+ this . setViewport = function ( x , y , width , height ) {
189
+
190
+ helperViewport . set ( x , y , width , height ) ;
191
+
192
+ } ;
193
+
182
194
/**
183
195
* This method should be called when a click or pointer event
184
196
* has happened in the app.
0 commit comments