2017-08-20 16:17:24 +02:00
<?xml version="1.0" encoding="UTF-8" ?>
2023-07-06 10:08:05 +02:00
<class name= "CameraFeed" inherits= "RefCounted" xmlns:xsi= "http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation= "../class.xsd" >
2017-08-20 16:17:24 +02:00
<brief_description >
A camera feed gives you access to a single physical camera attached to your device.
</brief_description>
<description >
2020-04-08 14:26:21 +02:00
A camera feed gives you access to a single physical camera attached to your device. When enabled, Godot will start capturing frames from the camera which can then be used. See also [CameraServer].
2019-06-22 01:04:47 +02:00
[b]Note:[/b] Many cameras will return YCbCr images which are split into two textures and need to be combined in a shader. Godot does this automatically for you if you set the environment to show the camera image in the background.
2017-08-20 16:17:24 +02:00
</description>
<tutorials >
</tutorials>
<methods >
2021-08-12 19:27:11 +02:00
<method name= "get_datatype" qualifiers= "const" >
<return type= "int" enum= "CameraFeed.FeedDataType" />
<description >
Returns feed image data type.
</description>
</method>
<method name= "get_id" qualifiers= "const" >
<return type= "int" />
<description >
Returns the unique ID for this feed.
</description>
</method>
<method name= "get_name" qualifiers= "const" >
<return type= "String" />
<description >
Returns the camera's name.
</description>
</method>
<method name= "get_position" qualifiers= "const" >
<return type= "int" enum= "CameraFeed.FeedPosition" />
<description >
Returns the position of camera on the device.
</description>
</method>
2023-06-05 18:56:34 +02:00
<method name= "set_format" >
<return type= "bool" />
<param index= "0" name= "index" type= "int" />
<param index= "1" name= "parameters" type= "Dictionary" />
<description >
Sets the feed format parameters for the given index in the [member formats] array. Returns [code]true[/code] on success. By default YUYV encoded stream is transformed to FEED_RGB. YUYV encoded stream output format can be changed with [param parameters].output value:
[code]separate[/code] will result in FEED_YCBCR_SEP
[code]grayscale[/code] will result in desaturated FEED_RGB
[code]copy[/code] will result in FEED_YCBCR
</description>
</method>
2024-09-27 12:10:59 +02:00
<method name= "set_name" >
<return type= "void" />
<param index= "0" name= "name" type= "String" />
<description >
Sets the camera's name.
</description>
</method>
<method name= "set_position" >
<return type= "void" />
<param index= "0" name= "position" type= "int" enum= "CameraFeed.FeedPosition" />
<description >
Sets the position of this camera.
</description>
</method>
<method name= "set_rgb_image" >
<return type= "void" />
<param index= "0" name= "rgb_image" type= "Image" />
<description >
Sets RGB image for this feed.
</description>
</method>
<method name= "set_ycbcr_image" >
<return type= "void" />
<param index= "0" name= "ycbcr_image" type= "Image" />
<description >
Sets YCbCr image for this feed.
</description>
</method>
2017-08-20 16:17:24 +02:00
</methods>
2021-08-12 19:27:11 +02:00
<members >
<member name= "feed_is_active" type= "bool" setter= "set_active" getter= "is_active" default= "false" >
If [code]true[/code], the feed is active.
</member>
<member name= "feed_transform" type= "Transform2D" setter= "set_transform" getter= "get_transform" default= "Transform2D(1, 0, 0, -1, 0, 1)" >
The transform applied to the camera's image.
</member>
2023-06-05 18:56:34 +02:00
<member name= "formats" type= "Array" setter= "" getter= "get_formats" default= "[]" >
Formats supported by the feed. Each entry is a [Dictionary] describing format parameters.
</member>
2021-08-12 19:27:11 +02:00
</members>
2023-06-05 18:56:34 +02:00
<signals >
<signal name= "format_changed" >
<description >
Emitted when the format has changed.
</description>
</signal>
<signal name= "frame_changed" >
<description >
Emitted when a new frame is available.
</description>
</signal>
</signals>
2017-08-20 16:17:24 +02:00
<constants >
2021-08-12 19:27:11 +02:00
<constant name= "FEED_NOIMAGE" value= "0" enum= "FeedDataType" >
No image set for the feed.
</constant>
<constant name= "FEED_RGB" value= "1" enum= "FeedDataType" >
Feed supplies RGB images.
</constant>
<constant name= "FEED_YCBCR" value= "2" enum= "FeedDataType" >
Feed supplies YCbCr images that need to be converted to RGB.
</constant>
<constant name= "FEED_YCBCR_SEP" value= "3" enum= "FeedDataType" >
Feed supplies separate Y and CbCr images that need to be combined and converted to RGB.
</constant>
<constant name= "FEED_UNSPECIFIED" value= "0" enum= "FeedPosition" >
Unspecified position.
</constant>
<constant name= "FEED_FRONT" value= "1" enum= "FeedPosition" >
Camera is mounted at the front of the device.
</constant>
<constant name= "FEED_BACK" value= "2" enum= "FeedPosition" >
Camera is mounted at the back of the device.
</constant>
2017-08-20 16:17:24 +02:00
</constants>
</class>