Opengl graphics card supporting opengl 4.1 là gì

OpenGL giống như tên ngụ ý một API đồ họa nguồn mở (giao diện lập trình ứng dụng). Nó cung cấp phần cứng thay vì hiển thị phần mềm có nghĩa là nó truy cập vào card đồ họa và cung cấp kết xuất chất lượng không bị ràng buộc bởi CPU. Công cụ này hầu như luôn được sử dụng để mở rộng đồ họa vector cả 2D và 3D và có sẵn trên mọi hệ điều hành phổ biến hiện nay.

Fast Without Fury

OpenGL thường không được sử dụng cho đồ họa có chỉ số octan cao như bạn thấy trong các tựa game chơi game triple-A (ví dụ gần đây: Overwatch ). Thay vào đó nó được sử dụng toàn bộ hoặc một phần trong phát triển trò chơi độc lập trong các ứng dụng đồ họa thông thường nặng hoặc trong các trò chơi đơn giản hơn. Đối với bất kỳ trò chơi nào không yêu cầu số lượng đa giác cao mặc dù cũng như đối với các tác vụ như mô phỏng nó hoạt động rất tốt và cung cấp tốc độ cực cao. Không khó để biết được mức độ phổ biến của nó và phần mềm sử dụng nó thường có thể được chuyển từ một hệ điều hành này sang hệ điều hành khác làm cho nó trở nên cực kỳ linh hoạt.

Mở nó ra

Tỷ lệ cược là bạn đã sử dụng phần mềm OpenGL nhiều lần một lần mà không biết. Tuổi thọ của nó đã được phát hành lần đầu tiên 24 năm trước nói về chất lượng của nó và nó vẫn được duy trì ngày hôm nay. Nếu bạn cần phải cài đặt một vật cố định OpenGL để làm cho một ứng dụng làm việc như vậy khi biết bạn đang ở trong tay tốt. Nếu bạn muốn lập trình một cái gì đó với đồ họa 3D và không biết bắt đầu từ đâu API cụ thể này là một lựa chọn tuyệt vời và bạn sẽ thấy sử dụng nó một lần nữa và một lần nữa nếu bạn tải xuống.

OpenGL Core is a back-end capable of supporting the latest OpenGL features on Windows, MacOS X and Linux. This scales from OpenGL 3.2 to OpenGL 4.5, depending on the OpenGL driver support.

Enabling OpenGL Core

To set OpenGL Core as your default Graphics API in the Editor or Standalone Player, go to the Player settings (menu: Edit > Project Settings, then select the Player category), and navigate to Other Settings. Disable the Auto Graphics API for Windows property, and choose OpenGLCore from the list. For more details, see [Graphics API support](Graphics APIs).

OpenGL requirements

OpenGL Core has the following minimum requirements:

  • Mac OS X 10.8 (OpenGL 3.2), MacOSX 10.9 (OpenGL 3.2 to 4.1)
  • Windows with NVIDIA since 2006 (GeForce 8), AMD since 2006 (Radeon HD 2000), Intel since 2012 (HD 4000 / IvyBridge) (OpenGL 3.2 to OpenGL 4.5)
  • Linux (OpenGL 3.2 to OpenGL 4.5)

macOS OpenGL driver limitations

The macOS OpenGL backend for the Editor and Standalone supports OpenGL 3.x and 4.x features such as tessellation and geometry shaders.

Sin embargo, como Apple restringe la versión de OpenGL en un escritorio OS X a 4.1 como mucho, este no soporta todas las características de DirectX 11 (como lo son Unordered Access Views o Compute Shaders).

Por lo tanto un nuevo nivel objetivo shader es introducido:

pragma target gl4.1. Este nivel objetivo requiere al menos OpenGL 4.1 o un nivel shader Directx 11.0 de 5 en desktop, o OpenGL ES 3.1 + Android Extension Pack en móviles.

Características de OpenGL Core

El nuevo back-end de OpenGL introduce muchas nuevas características (previamente en su mayoría que eran de DX11/GLES3 solamente):

  • Compute shaders (al igual que ComputeBuffers y “random write” render textures)
  • Shaders de Tessellation (teselación) y Geometría
  • Dibujo indirecto (Graphics.DrawProcedural y Graphics.DrawProceduralIndirect)
  • Modos de blend (mezcla) avanzados

Cambios al shader

Cuando utilice los objetivos

pragma existentes, estos se asignan a los siguientes niveles de GL:

  • pragma target 4.0 // OpenGL ES 3.1, desktop OpenGL 3.x, DX Shader Model 4.0

  • pragma target gl4.1 // Desktop OpenGL 4.1, SM 4.0 + tessellation to match MacOSX 10.9 capabilities

  • pragma target 5.0 // OpenGL ES 3.1 + Android Extension Pack, desktop OpenGL >= 4.2, DX Shader Model 5.0

Para incluir y excluir plataformas shader de utilizar shaders específicos, los siguientes targets (objetivos)

pragma only_renderers / exclude_renderers se pueden utilizar:

  • pragma only_renderers glcore: Solamente compile para el GL de escritorio. Como el objetivo ES 3, este también se escala hasta contener todas las versiones GL, dónde los shaders básicos soportarán GL 2.x mientras que los shaders que requieran de características SM5.0 requieren OpenGL 4.2+.

Argumentos de linea de comando de perfil de OpenGL Core

Es posible empezar el editor o el player con OpenGL utilizando los argumentos de linea de comando:

  • -force-opengl: Para utilizar el back-end de OpenGL legacy
  • -force-glcore: Para utilizar el nuevo back-end de OpenGL. Con este argumento, Unity detectará todas las nuevas características que la plataforma soporta ejecutar con la mejor versión de OpenGL posible y todas las extensiones OpenGL disponibles.
  • -force-glcoreXY: XY puede ser 32, 33, 40, 41, 42, 43, 44 o 45; cada número representando una versión específica de OpenGL. Si la plataforma no soporta una versión específica de OpenGL, Unity entonces utilizará una versión soportada
  • -force-clamped: Solicita que Unity no utilice extensiones OpenGL que garanticen que varias plataformas ejecutarán la misma ruta de código. Esto es un acercamiento para probar si un problema es específico a la plataforma (un bug del driver por ejemplo).

Argumentos de linea de comando en escritorio Native OpenGL ES

La API de gráficos OpenGL ES está disponible en maquinas Windows con GPUs Intel o NVIDIA con drivers que soporten OpenGL ES.