summaryrefslogtreecommitdiffstats
path: root/doc/classes/CameraFeed.xml
blob: 2b6db13906c80eb5f208ff60090bdbc09bcf069c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
<?xml version="1.0" encoding="UTF-8" ?>
<class name="CameraFeed" inherits="RefCounted" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../class.xsd">
	<brief_description>
		A camera feed gives you access to a single physical camera attached to your device.
	</brief_description>
	<description>
		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].
		[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.
	</description>
	<tutorials>
	</tutorials>
	<methods>
		<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>
		<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>
		<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>
	</methods>
	<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>
		<member name="formats" type="Array" setter="" getter="get_formats" default="[]">
			Formats supported by the feed. Each entry is a [Dictionary] describing format parameters.
		</member>
	</members>
	<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>
	<constants>
		<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>
	</constants>
</class>