Rasterizer (bge.render)¶
Intro¶
Example of using a SCA_MouseSensor
,
and two KX_ObjectActuator
to implement MouseLook:
Note
This can also be achieved with the KX_MouseActuator
.
# To use a mouse movement sensor "Mouse" and a
# motion actuator to mouse look:
import bge
# scale sets the speed of motion
scale = 1.0, 0.5
co = bge.logic.getCurrentController()
obj = co.owner
mouse = co.sensors["Mouse"]
lmotion = co.actuators["LMove"]
wmotion = co.actuators["WMove"]
# Transform the mouse coordinates to see how far the mouse has moved.
def mousePos():
x = (bge.render.getWindowWidth() / 2 - mouse.position[0]) * scale[0]
y = (bge.render.getWindowHeight() / 2 - mouse.position[1]) * scale[1]
return (x, y)
pos = mousePos()
# Set the amount of motion: X is applied in world coordinates...
wmotion.useLocalTorque = False
wmotion.torque = ((0.0, 0.0, pos[0]))
# ...Y is applied in local coordinates
lmotion.useLocalTorque = True
lmotion.torque = ((-pos[1], 0.0, 0.0))
# Activate both actuators
co.activate(lmotion)
co.activate(wmotion)
# Centre the mouse
bge.render.setMousePosition(int(bge.render.getWindowWidth() / 2), int(bge.render.getWindowHeight() / 2))
Functions¶
- bge.render.getWindowWidth()¶
Gets the width of the window (in pixels)
- Return type
integer
- bge.render.getWindowHeight()¶
Gets the height of the window (in pixels)
- Return type
integer
- bge.render.setWindowSize(width, height)¶
Set the width and height of the window (in pixels). This also works for fullscreen applications.
Note
Only works in the standalone player, not the Blender-embedded player.
- Parameters
width (integer) – width in pixels
height (integer) – height in pixels
- bge.render.setFullScreen(enable)¶
Set whether or not the window should be fullscreen.
Note
Only works in the standalone player, not the Blender-embedded player.
- Parameters
enable (bool) –
True
to set full screen,False
to set windowed.
- bge.render.getFullScreen()¶
Returns whether or not the window is fullscreen.
Note
Only works in the standalone player, not the Blender-embedded player; there it always returns False.
- Return type
bool
- bge.render.getDisplayDimensions()¶
Get the display dimensions, in pixels, of the display (e.g., the monitor). Can return the size of the entire view, so the combination of all monitors; for example,
(3840, 1080)
for two side-by-side 1080p monitors.- Return type
tuple (width, height)
- bge.render.makeScreenshot(filename)¶
Writes an image file with the displayed image at the frame end.
The image is written to ‘filename’. The path may be absolute (eg.
/home/foo/image
) or relative when started with//
(eg.//image
). Note that absolute paths are not portable between platforms. If the filename contains a#
, it will be replaced by an incremental index so that screenshots can be taken multiple times without overwriting the previous ones (eg.image-#
).Settings for the image are taken from the render settings (file format and respective settings, gamma and colospace conversion, etc). The image resolution matches the framebuffer, meaning, the window size and aspect ratio. When running from the standalone player, instead of the embedded player, only PNG files are supported. Additional color conversions are also not supported.
- Parameters
filename (string) – path and name of the file to write
- bge.render.enableVisibility(visible)¶
Deprecated; doesn’t do anything.
- bge.render.showMouse(visible)¶
Enables or disables the operating system mouse cursor.
- Parameters
visible (boolean) –
- bge.render.setMousePosition(x, y)¶
Sets the mouse cursor position.
- Parameters
x (integer) – X-coordinate in screen pixel coordinates.
y (integer) – Y-coordinate in screen pixel coordinates.
- bge.render.setBackgroundColor(rgba)¶
Deprecated and no longer functional. Use
KX_WorldInfo.horizonColor
orKX_WorldInfo.zenithColor
instead.
- bge.render.setEyeSeparation(eyesep)¶
Sets the eye separation for stereo mode. Usually Focal Length/30 provides a confortable value.
- Parameters
eyesep (float) – The distance between the left and right eye.
- bge.render.getEyeSeparation()¶
Gets the current eye separation for stereo mode.
- Return type
float
- bge.render.setFocalLength(focallength)¶
Sets the focal length for stereo mode. It uses the current camera focal length as initial value.
- Parameters
focallength (float) – The focal length.
- bge.render.getFocalLength()¶
Gets the current focal length for stereo mode.
- Return type
float
- bge.render.getStereoEye()¶
Gets the current stereoscopy eye being rendered. This function is mainly used in a
KX_Scene.pre_draw
callback function to customize the camera projection matrices for each stereoscopic eye.- Return type
LEFT_EYE, RIGHT_EYE
- bge.render.setMaterialMode(mode)¶
Deprecated and no longer functional.
Set the material mode to use for OpenGL rendering.
- Parameters
mode (KX_TEXFACE_MATERIAL, KX_BLENDER_MULTITEX_MATERIAL, KX_BLENDER_GLSL_MATERIAL) – material mode
Note
Changes will only affect newly created scenes.
- bge.render.getMaterialMode(mode)¶
Deprecated and no longer functional.
Get the material mode to use for OpenGL rendering.
- Return type
KX_TEXFACE_MATERIAL, KX_BLENDER_MULTITEX_MATERIAL, KX_BLENDER_GLSL_MATERIAL
- bge.render.setGLSLMaterialSetting(setting, enable)¶
Enables or disables a GLSL material setting.
- Parameters
setting (string (lights, shaders, shadows, ramps, nodes, extra_textures)) –
enable (boolean) –
- bge.render.getGLSLMaterialSetting(setting)¶
Get the state of a GLSL material setting.
- Parameters
setting (string (lights, shaders, shadows, ramps, nodes, extra_textures)) –
- Return type
boolean
- bge.render.setAnisotropicFiltering(level)¶
Set the anisotropic filtering level for textures.
- Parameters
level (integer (must be one of 1, 2, 4, 8, 16)) – The new anisotropic filtering level to use
Note
Changing this value can cause all textures to be recreated, which can be slow.
- bge.render.getAnisotropicFiltering()¶
Get the anisotropic filtering level used for textures.
- Return type
integer (one of 1, 2, 4, 8, 16)
- bge.render.setMipmapping(value)¶
Change how to use mipmapping.
Note
Changing this value can cause all textures to be recreated, which can be slow.
- bge.render.getMipmapping()¶
Get the current mipmapping setting.
- Return type
RAS_MIPMAP_NONE, RAS_MIPMAP_NEAREST, RAS_MIPMAP_LINEAR
- bge.render.drawLine(fromVec, toVec, color)¶
Draw a line in the 3D scene.
- Parameters
fromVec (list [x, y, z]) – the origin of the line
toVec (list [x, y, z]) – the end of the line
color (list [r, g, b, a]) – the color of the line
- bge.render.enableMotionBlur(factor)¶
Enable the motion blur effect.
- Parameters
factor (float [0.0 - 1.0]) – the ammount of motion blur to display.
- bge.render.disableMotionBlur()¶
Disable the motion blur effect.
- bge.render.showFramerate(enable)¶
Show or hide the framerate.
- Parameters
enable (boolean) –
- bge.render.showProfile(enable)¶
Show or hide the profile.
- Parameters
enable (boolean) –
- bge.render.showProperties(enable)¶
Show or hide the debug properties.
- Parameters
enable (boolean) –
- bge.render.autoDebugList(enable)¶
Enable or disable auto adding debug properties to the debug list.
- Parameters
enable (boolean) –
- bge.render.clearDebugList()¶
Clears the debug property list.
- bge.render.setVsync(value)¶
Set the vsync value
- Parameters
value (integer) – One of VSYNC_OFF, VSYNC_ON, VSYNC_ADAPTIVE
- bge.render.getVsync()¶
Get the current vsync value
- Return type
One of VSYNC_OFF, VSYNC_ON, VSYNC_ADAPTIVE
Constants¶
General¶
- bge.render.KX_BLENDER_MULTITEX_MATERIAL¶
Deprecated.
Materials approximating blender materials with multitexturing.
- Value
1
- bge.render.KX_BLENDER_GLSL_MATERIAL¶
Deprecated.
Materials approximating blender materials with GLSL.
- Value
2
- bge.render.VSYNC_OFF¶
Disables vsync.
- Value
1
- bge.render.VSYNC_ON¶
Enables vsync.
- Value
0
- bge.render.VSYNC_ADAPTIVE¶
Enables adaptive vsync, if supported. Adaptive vsync enables vsync if the framerate is above the monitors refresh rate. Otherwise, vsync is diabled if the framerate is too low.
- Value
2
- bge.render.LEFT_EYE¶
Left eye being used during stereoscopic rendering.
- Value
0
- bge.render.RIGHT_EYE¶
Right eye being used during stereoscopic rendering.
- Value
1