def UpdateRenderer(x,y)
??
windowX = self.get_window.width
windowY = self.get_window.height
renderers = @RenderWindow.GetRenderers
numRenderers = renderers.GetNumberOfItems
@CurrentRenderer = nil
renderers.InitTraversal
for i in 0...numRenderers
renderer = renderers.GetNextItem
vx,vy = [0,0]
if (windowX > 1)
vx = x.to_f/(windowX-1)
end
if (windowY > 1)
vy = (windowY-y.to_f-1)/(windowY-1)
end
(vpxmin,vpymin,vpxmax,vpymax) = renderer.GetViewport
if (vx >= vpxmin && vx <= vpxmax && vy >= vpymin && vy <= vpymax)
@CurrentRenderer = renderer
@ViewportCenterX = windowX.to_f*(vpxmax-vpxmin)/2.0 +vpxmin
@ViewportCenterY = windowY.to_f*(vpymax-vpymin)/2.0 +vpymin
@CurrentCamera = @CurrentRenderer.GetActiveCamera
lights = @CurrentRenderer.GetLights
lights.InitTraversal
break if @CurrentLight = lights.GetNextItem
end
end
@LastX = x
@LastY = y
end