Difference between revisions of "GraphicsFeature"
(Updated for 0.10.0.) |
m |
||
(11 intermediate revisions by 3 users not shown) | |||
Line 1: | Line 1: | ||
{{newin|[[0.8.0]]|080|type=enum}} | {{newin|[[0.8.0]]|080|type=enum}} | ||
− | Graphics features that can be checked for with [[love.graphics.getSupported]] | + | Graphics features that can be checked for with [[love.graphics.getSupported]]. |
== Constants == | == Constants == | ||
− | {{ | + | {{New feature|0.10.0| |
;clampzero: Whether the "clampzero" [[WrapMode]] is supported. | ;clampzero: Whether the "clampzero" [[WrapMode]] is supported. | ||
+ | ;lighten: Whether the "lighten" and "darken" [[BlendMode]]s are supported. | ||
;multicanvasformats: Whether multiple [[Canvas]]es with different [[CanvasFormat|formats]] can be used in the same [[love.graphics.setCanvas]] call. | ;multicanvasformats: Whether multiple [[Canvas]]es with different [[CanvasFormat|formats]] can be used in the same [[love.graphics.setCanvas]] call. | ||
Line 9: | Line 10: | ||
<code>clampzero</code> is supported on all desktop systems, but only some mobile devices. If it's not supported and it's attempted to be set, the "clamp" wrap mode will automatically be used instead. | <code>clampzero</code> is supported on all desktop systems, but only some mobile devices. If it's not supported and it's attempted to be set, the "clamp" wrap mode will automatically be used instead. | ||
− | <code> | + | <code>lighten</code> is supported on all desktop systems, and OpenGL ES 3-capable mobile devices. |
− | + | <code>multicanvasformats</code> is supported on OpenGL 3-capable desktop systems, and OpenGL ES 3-capable mobile devices.}} | |
− | {{ | + | |
+ | {{New feature|11.0| | ||
+ | ;glsl3: Whether GLSL 3 [[Shader]]s can be used. | ||
+ | ;instancing: Whether [[love.graphics.drawInstanced|mesh instancing]] is supported. | ||
+ | ;fullnpot: Whether textures with non-power-of-two dimensions can use [[Texture:setMipmapFilter|mipmapping]] and the 'repeat' [[WrapMode]]. | ||
+ | ;pixelshaderhighp: Whether pixel shaders can use "highp" 32 bit floating point numbers (as opposed to just 16 bit or lower precision). | ||
+ | ;shaderderivatives: Whether shaders can use the <code>dFdx</code>, <code>dFdy</code>, and <code>fwidth</code> functions for computing derivatives. | ||
+ | |||
+ | === Notes === | ||
+ | <code>glsl3</code> and <code>instancing</code> are supported on OpenGL 3 and OpenGL ES 3-capable systems. | ||
+ | |||
+ | <code>instancing</code> is also supported on some older systems that don't support GLSL 3, but [[Mesh:attachAttribute|vertex attribute-based]] instancing must be used in that case (instead of <code>love_InstanceID</code> in a GLSL 3 shader). | ||
+ | |||
+ | <code>fullnpot</code>, <code>pixelshaderhighp</code>, and <code>shaderderivatives</code> are supported on all desktop systems and most mobile systems, except for some older OpenGL ES 2 devices.}} | ||
+ | |||
+ | {{Removed feature|0.10.0| | ||
;canvas: Support for [[Canvas]]. | ;canvas: Support for [[Canvas]]. | ||
;npot: Support for textures with non-power-of-two sizes. See [[PO2 Syndrome]]. | ;npot: Support for textures with non-power-of-two sizes. See [[PO2 Syndrome]]. | ||
− | ;subtractive: Support for the subtractive [[BlendMode|blend mode]]. | + | ;subtractive: Support for the subtractive [[BlendMode|blend mode]].}} |
− | {{ | + | {{Removed new feature|0.9.0|0.10.0| |
;shader: Support for [[Shader]]s. | ;shader: Support for [[Shader]]s. | ||
;hdrcanvas: Support for HDR [[Canvas]]es. Use [[love.graphics.getCanvasFormats]] instead. | ;hdrcanvas: Support for HDR [[Canvas]]es. Use [[love.graphics.getCanvasFormats]] instead. | ||
Line 22: | Line 38: | ||
;mipmap: Support for Mipmaps. | ;mipmap: Support for Mipmaps. | ||
;dxt: Support for DXT compressed images (see [[CompressedFormat]].) Use [[love.graphics.getCompressedImageFormats]] instead. | ;dxt: Support for DXT compressed images (see [[CompressedFormat]].) Use [[love.graphics.getCompressedImageFormats]] instead. | ||
− | ;bc5: Support for BC4 and BC5 compressed images. Use [[love.graphics.getCompressedImageFormats]] instead. | + | ;bc5: Support for BC4 and BC5 compressed images. Use [[love.graphics.getCompressedImageFormats]] instead.}} |
− | {{ | + | {{Removed new feature|0.9.1|0.10.0| |
− | ;srgb:Support for gamma-correct rendering with the <code>srgb</code> window flag in [[love.window.setMode]], and the "srgb" [[TextureFormat]] for [[love.graphics.newCanvas|Canvases]] and [[love.graphics.newImage|Images]]. | + | Use [[love.graphics.isGammaCorrect]] or [[love.graphics.getCanvasFormats]] instead |
− | {{ | + | ;srgb:Support for gamma-correct rendering with the <code>srgb</code> window flag in [[love.window.setMode]], and the "srgb" [[TextureFormat]] for [[love.graphics.newCanvas|Canvases]] and [[love.graphics.newImage|Images]].}} |
− | ;pixeleffect: Support for [[PixelEffect]]s. | + | {{Removed feature|0.9.0| |
+ | ;pixeleffect: Support for [[PixelEffect]]s.}} | ||
=== Notes === | === Notes === | ||
Line 43: | Line 60: | ||
DirectX 10+ capable graphics cards include the nvidia GeForce 8000-series (2006) and newer, the ATI/AMD HD 2000-series and newer, and the Intel HD 2000/3000 GPUs and newer. | DirectX 10+ capable graphics cards include the nvidia GeForce 8000-series (2006) and newer, the ATI/AMD HD 2000-series and newer, and the Intel HD 2000/3000 GPUs and newer. | ||
+ | |||
== See Also == | == See Also == | ||
* [[parent::love.graphics]] | * [[parent::love.graphics]] | ||
* [[love.graphics.getSupported]] | * [[love.graphics.getSupported]] | ||
− | |||
[[Category:Enums]] | [[Category:Enums]] | ||
{{#set:Description=Graphics features that can be checked for with [[love.graphics.getSupported]].}} | {{#set:Description=Graphics features that can be checked for with [[love.graphics.getSupported]].}} |
Latest revision as of 13:59, 20 July 2019
Available since LÖVE 0.8.0 |
This enum is not supported in earlier versions. |
Graphics features that can be checked for with love.graphics.getSupported.
Constants
- clampzero
- Whether the "clampzero" WrapMode is supported.
- lighten
- Whether the "lighten" and "darken" BlendModes are supported.
- multicanvasformats
- Whether multiple Canvases with different formats can be used in the same love.graphics.setCanvas call.
Notes
clampzero
is supported on all desktop systems, but only some mobile devices. If it's not supported and it's attempted to be set, the "clamp" wrap mode will automatically be used instead.
lighten
is supported on all desktop systems, and OpenGL ES 3-capable mobile devices.
multicanvasformats
is supported on OpenGL 3-capable desktop systems, and OpenGL ES 3-capable mobile devices.
- glsl3
- Whether GLSL 3 Shaders can be used.
- instancing
- Whether mesh instancing is supported.
- fullnpot
- Whether textures with non-power-of-two dimensions can use mipmapping and the 'repeat' WrapMode.
- pixelshaderhighp
- Whether pixel shaders can use "highp" 32 bit floating point numbers (as opposed to just 16 bit or lower precision).
- shaderderivatives
- Whether shaders can use the
dFdx
,dFdy
, andfwidth
functions for computing derivatives.
Notes
glsl3
and instancing
are supported on OpenGL 3 and OpenGL ES 3-capable systems.
instancing
is also supported on some older systems that don't support GLSL 3, but vertex attribute-based instancing must be used in that case (instead of love_InstanceID
in a GLSL 3 shader).
fullnpot
, pixelshaderhighp
, and shaderderivatives
are supported on all desktop systems and most mobile systems, except for some older OpenGL ES 2 devices.
- canvas
- Support for Canvas.
- npot
- Support for textures with non-power-of-two sizes. See PO2 Syndrome.
- subtractive
- Support for the subtractive blend mode.
- shader
- Support for Shaders.
- hdrcanvas
- Support for HDR Canvases. Use love.graphics.getCanvasFormats instead.
- multicanvas
- Support for simultaneous rendering to at least 4 canvases at once, with love.graphics.setCanvas. Use love.graphics.getSystemLimits instead.
- mipmap
- Support for Mipmaps.
- dxt
- Support for DXT compressed images (see CompressedFormat.) Use love.graphics.getCompressedImageFormats instead.
- bc5
- Support for BC4 and BC5 compressed images. Use love.graphics.getCompressedImageFormats instead.
Use love.graphics.isGammaCorrect or love.graphics.getCanvasFormats instead
- srgb
- Support for gamma-correct rendering with the
srgb
window flag in love.window.setMode, and the "srgb" TextureFormat for Canvases and Images.
- pixeleffect
- Support for PixelEffects.
Notes
Canvases, Shaders, mipmaps, npot textures, and the subtract BlendMode are always supported in version 0.10.0 and newer (due to its system requirements.)
For previous versions:
subtractive
, mipmap
, and dxt
are supported on nearly every system.
canvas
, multicanvas
, npot
, and shader
have roughly the same minimum requirements for support: a DirectX 9.0c+ capable graphics card with drivers that support ~OpenGL 2.1+.
hdrcanvas
, bc5
, and srgb
all share mostly the same minimum requirements for support as well: a DirectX 10+ capable graphics card with drivers that support ~OpenGL 3+.
DirectX 9.0c+ capable graphics cards include the nvidia GeForce 5000-series (2003) and newer, the ATI Radeon 9000-series and newer, and the Intel GMA x3100 GPU and newer.
DirectX 10+ capable graphics cards include the nvidia GeForce 8000-series (2006) and newer, the ATI/AMD HD 2000-series and newer, and the Intel HD 2000/3000 GPUs and newer.
See Also
Other Languages
Dansk –
Deutsch –
English –
Español –
Français –
Indonesia –
Italiano –
Lietuviškai –
Magyar –
Nederlands –
Polski –
Português –
Română –
Slovenský –
Suomi –
Svenska –
Türkçe –
Česky –
Ελληνικά –
Български –
Русский –
Српски –
Українська –
עברית –
ไทย –
日本語 –
正體中文 –
简体中文 –
Tiếng Việt –
한국어
More info