Compruebe la versión OpenGL. ¿Qué es OpenGL? Lo que da una nueva versión

Pregunta: Determinar la versión de OpenGL


Necesito un código en OpenGL ES 2,
y la red está llena de código para la primera versión.
¿Cómo definir rápidamente la versión de OpenGL en el código?
Etiqueta negra o algo que necesitas en los primeros pares.

Respuesta: Primero, el VBO debe usar. Es decir, glgenbuffers, glbindbuffer, etc. Aunque esta cosa es apoyada desde 1.5. En segundo lugar, los sombreadores deben usar. Es decir, glc7eProgram, GllinkProgram, Glsetshader, etc. Bueno, en un conjunto con el código, debería haber código de sombreadores (aunque hasta 3.3 Obligaciones con los sombreadores no lo son, pero sin sombreadores de 2.0 Sentido que de 1.5).

Pregunta: ¿Qué versión de OpenGL elegirá que la aplicación soporta el mayor número de tarjetas de video?


¡Hola! La pregunta es exactamente la misma que en el tema: ¿Qué versión de OpenGL elegirá que la aplicación soporta el mayor número de tarjetas de video?

Respuesta: En general, como creo.
Al principio, el número de usuarios de PC aumentó exponencialmente y creo que este pico alcanzó este crecimiento en algún lugar del intervalo de 2008-2011 (para cada país, este pico fue en diferentes momentos, y en otro lugar no se puede lograr) y ahora este aumentar la disminución.

En realidad, se repelería de este pico, es decir, .. Miraría lo que la versión de OpenGL fue en ese momento y la usaba para mi propósito, si necesitaba ese apoyo era más probable. Bueno, tal vez incluso menos un par de meses. Eso es, mientras que la PC del fabricante va al comprador.

Pregunta: Elegir la versión óptima de OpenGL


La pregunta es la siguiente: ¿Qué deben ser los requisitos del sistema adecuados para un simple juego 2D en 2016? Hay un pensamiento de que creará incorrectamente un proyecto de Flappy Bird en OpenGL 4.x debido a la incompatibilidad de muchas tarjetas de video con esta versión. La versión mínima de OpenGL en mi opinión es de 2.0, porque por un lado cubre el hierro de las antiguas generaciones, por otro lado, hace posible usar Shaders GLSL. El post-procesamiento utilizando un frameBuffer se enfría por extensiones. Pero no estoy satisfecho con el límite asociado con la función Glteximage2D. No todas las tarjetas de video OpenGL 2.0 le permiten crear una textura por encima de 1024px * 1024px en la memoria. También necesita más esfuerzos para optimizar dicho hierro. Estaré encantado de algún consejo. También sería bueno obtener cualquier estadística sobre este tema.

Respuesta:

Mensaje de 8Observer8.

Tengo una situación que recojo (en EXE) juegos en una computadora portátil moderna en el sistema operativo WIN7.

No importa qué recoger.
Para el motor, la configuración de la máquina en la que comienza es importante.

Mensaje de 8Observer8.

Resulta que el motor recolecta EXE de tal manera que al iniciar el EXE, la aplicación se seleccionará, qué usar: OpenGL 2.0 o OpenGL 4.x?

En EXE cerrado el motor.
También recopila su configuración dinámicamente cuando se ejecuta desde los módulos disponibles.

Pregunta: Versión OpenGL


Buenas noches, queridos miembros del Foro. ¿Es posible utilizar OpenGL versiones 1.0-1.5 (tal restricción pone a un maestro en el instituto), ajuste, por ejemplo, glut (o cualquier otra biblioteca)? Gracias de antemano por la respuesta.
PS: Idioma de programación SI o C ++.

Respuesta: Si no usa las extensiones y las funciones del tipo glccreateshadederobjectarb (..), GlatchObjectarb (..), etc. (es decir, para hacer completamente sin sombreadores), será OpenGL 1.5

Pregunta: Determinar la versión de Windows


Soldar todos.
Ante ese problema, es necesario determinar la versión del sistema operativo, sin usar GetSIVERSIONEX. El hecho es que el MSDN está escrito en esta función:

Cita

Las aplicaciones que no se manifestan para Windows 8.1 o Windows 10 devolverán el valor de la versión de Windows 8 OS (6.2). Una vez que se manifiesta una aplicación para una versión determinada del sistema operativo, Getversiox siempre devolverá la versión para que la aplicación se manifiesta en futuras versiones.

Y solo necesito hacer que mi aplicación definiera que funciona en Windows 10.
Una opción Añadir a Manifiest Windows 10 Las aplicaciones no son adecuadas.

Aquí, de hecho, la pregunta es: ¿Hay alguna forma de determinar la versión de Windows utilizando solo funciones de modo de usuario (RTLGETVERVERSION no se ajusta, ya que se realiza en la moda del kernel)?

Esta publicación ha sido editada (a) rudolfninja. - 13.8.2015, 12:16

Pregunta: Determine la versión del ASP.NET instalado


¡Oye! Estoy escribiendo el programa de recolector de información con los alrededores.
Dígame cómo determinar la versión instalada en ASP.NET PC
Marco de versión .NET de la versión ya identificada y mucho más, pero con problemas ASP.NET.

Respuesta:

Mensaje de nevbie.

¿O corresponde a la versión de Net Framework?

Puede que no esté ausente, ya que es un marco neto, solo algunos ensamblajes de su composición.

Sin lugar a dudas, muchos jugadores saben que para el correcto funcionamiento de estos juegos tan famosos, como Minecraft o CS, una de las condiciones más básicas es la presencia de los controladores de OpenGL instalados en el sistema. Cómo actualizar este paquete de controladores, ahora se revisará porque, como cualquier otro software, pueden estar desactualizados. Es por eso que a veces hay problemas con el lanzamiento de sus juegos favoritos.

OpenGL: como la forma más sencilla?

En primer lugar, si, cuando inicie un juego o una aplicación específica, el sistema informa que los controladores de OpenGL deben actualizarse, debe usar la solución más estándar.

Para activar el proceso, debe ingresar al "Administrador de dispositivos" estándar, que se puede hacer en el "Panel de control", la sección Administración de la computadora o el comando DevmGMGT.MSC a través de la cadena de la consola "Ejecutar" y encuentre el adaptador de video instalado allí.

La actualización se puede iniciar utilizando el comando al menú de clic derecho o en la sección Propiedades del dispositivo. Si especifica una búsqueda automática, es posible que no proporcione un resultado, y el sistema informará que el controlador más apropiado ya está instalado. Por lo tanto, es deseable ponerse en contacto con el sitio web del fabricante, seleccione el modelo de su tarjeta gráfica, descargue el controlador más nuevo y especifique la ubicación de la distribución guardada.

¿Cómo actualizar OpenGL en Windows 7 o en cualquier otro sistema utilizando utilidades especializadas?

Para los propietarios de NVIDIA y Radeon Chips, la tarea puede ser algo simplificada. Como regla general, los programas de control especial como PHSX y Catalyst se incluyen en el formulario preinstalado. Es por eso que el controlador OpenGL se puede actualizar con su ayuda.

Si por alguna razón no hay tales utilidades, simplemente debe descargarlos e integrarse en el sistema. Si hay una conexión a Internet constantemente activa, serán útiles no solo para configurar juegos, y para rastrear automáticamente las nuevas versiones de los controladores necesarios, incluidos OpenGL.

En principio, si esta opción no le gusta esta opción, puede usar programas no menos interesantes como el Booster del conductor, que sin la participación del usuario actualiza los controladores absolutamente para todos los dispositivos de "hierro" y software instalados en una computadora o computadora portátil. La aplicación en el propio sistema de escaneo del sistema determinará la versión del controlador OpenGL. ¿Cómo actualizarlo? Solo tenemos que estar de acuerdo con la propuesta de instalar los depósitos encontrados. Al finalizar el proceso de actualización, se requerirá un reinicio completo.

Finalmente, puede instalar una utilidad especial llamada OpenGL Extensions Viewer, con la que puede encontrar la versión del paquete del controlador instalado y actualizarlo a la última versión.

Actualizar DirectX

Sin embargo, la actualización puede no dar el resultado positivo deseado sin actualizar la plataforma DirectX, que es un cierto puente vinculante entre el hardware y el complejo de programas en el plan multimedia.

Puede aprender la versión instalada utilizando el comando DXDIAG ingresado en el menú "Ejecutar". Puede cargar una nueva distribución del sitio oficial de soporte de Microsoft en la sección Descargas.

Como ya es comprensible, DirectX OpenGL se puede actualizar con el inicio habitual del proceso de instalación de la distribución cargada. La ventaja de esta actualización también está en el hecho de que en el cuadro de diálogo DirectX, puede realizar una serie de pruebas, incluido el rendimiento de DirectSound, FFDShow, Direct3D, etc.

¿Por qué los controladores no están actualizados?

Si de repente, ninguna de las soluciones anteriores ayuda, lo más probable es que la razón se encuentra solo en el hecho de que el adaptador de video, la versión instalada de OpenGL simplemente no es compatible, por lo tanto, sin importar la intención, el controlador no se puede instalar. La única salida será la instalación de una tarjeta de video más potente.

Por cierto, es la mayoría de las veces, este problema ocurre en el caso de los chips de video integrados del estándar de video a bordo, que están integrados en las placas base. Con tarjetas de video discretas, como regla general, no hay tales problemas (naturalmente, siempre que el chip no esté demasiado obsoleto e inicialmente admite la tecnología OpenGL). En cuanto a tales cartas, parece que ya está claro. Pero a veces puede ser necesario realizar las plataformas de tiempo de ejecución de Java o incluso .NET Framework de Microsoft: también es necesario olvidarse de esto. Pero como regla general, en la mayoría de los casos no se requiere que haga esto, es suficiente y en paralelo para usar la utilidad del visor de extensiones OpenGL.

  1. En los controladores para las tarjetas de video NVIDIA suministradas como parte del sistema operativo Windows, el soporte OpenGL generalmente está ausente. Las aplicaciones utilizarán la representación de software de Windows OpenGL (controlador en Direct3D en Windows Vista). Puede verificar la disponibilidad del controlador OpenGL usando el Visor de Extensions Viewer y GPU GPU GPU Viewer Utilities. Si muestran que el proveedor OpenGL-Microsoft, entonces no hay un controlador OpenGL en el sistema. Descargue e instale la última versión de la tarjeta de video del sitio NVIDIA.
  2. La nueva versión del controlador podría agregarse soporte para la nueva API OpenGL, una aplicación desconocida. Por ejemplo, el controlador informa de OpenGL Support Aplication 2.0, y el soporte de aplicaciones / cheques de juegos para OpenGL versión 1.x. Para resolver el problema, puede usar Rivatuner en la configuración de OpenGL en la pestaña Compatibilidad (compatibilidad) para impulsar el controlador a la versión de la versión OpenGL (anulación de cadena de versión OpenGL) en la aplicación compatible, por ejemplo, 1.5. Esta opción no afecta la ejecución de la tarjeta de video OpenGL, pero por la misma razón, las aplicaciones que requieren OpenGL versión 2.0 pueden dejar de funcionar. Una forma más flexible: para crear un perfil de controlador para la aplicación de problemas utilizando la utilidad NHANCER al especificar la versión deseada en la opción "Versión OpenGL informada" en la pestaña Compatibilidad.
  3. El problema puede ocurrir si varios controladores OpenGL se instalan en el sistema por cualquier motivo. En el Registro en HKLM \\ Software \\ Microsoft \\ Windows NT \\ Currentversion \\ OpenGLDRivers (HKLM \\ Software \\ Microsoft \\ Windows \\ Currentversion \\ OpenGLDRivers Para Windows 9x-ME), verifique que haya una sola subsección de rivatNT y la tecla DLL en esta sección tiene NVOGLNT (hay una sola tecla con el valor nvopengl.dll para Windows 9x-Me). Si hay otras subsecciones, como ATI2DVAG (PLACE ATI OpenGL), debe eliminarse, previamente exportadas al archivo .reg.
  4. La implementación de OpenGL 2.0 para los procesadores gráficos de GeForce FX y superior en el controlador NVIDIA requiere soporte para el procesador central de extensión SSE. Si estas extensiones no están disponibles, el controlador de OpenGL ICD no se inicializará, se cerrarán las aplicaciones OpenGL o se utilizarán la representación del programa. Puede revisar la inicialización del controlador utilizando el Visor de Extensiones OpenGL y las utilidades de GPU CAPS Viewer, puede verificar la extensión admitida por la utilidad CPU-Z. o Sandra. . Si el procesador no es compatible con SSE, puede usar versiones anteriores del controlador (hasta 75.xx), o usar RIVATURER en la configuración de OpenGL en la pestaña Compatibilidad (Compatibilidad) Habilitar el modo "Modo de emulación NV25" en lugar del valor predeterminado "Aceleración máxima" En el caso extremo, puede usar OpenGL -\u003e Direct3D por Gldirect o Titaniumgl. A veces, el procesador admite SSE, pero el soporte no funciona debido a la placa base de BIOS obsoleta. Especialmente este problema es característico de los sistemas con los procesadores AMD Athlon XP y Duron. La actualización de la BIOS de la placa base puede restaurar el soporte de SSE.
  5. Si hay varias tarjetas de video sobre la base de diferentes procesadores de gráficos NVIDIA, el controlador OpenGL solo admitirá OpenGL compatible con la versión de todas las tarjetas de video.

Simplemente llame a GLGETSTRING (GL_VERSION) (tan pronto como se inicialice el contexto, por supuesto), y elimine el resultado (que es en realidad lo mismo que GlxInfo, supongo):

Printf ("% s \\ n", glgetstring (gl_version));

Su programa debe usar automáticamente la versión máxima posible de su equipo y soporte para los controladores, que en su caso parece ser 3.3. Pero para crear el contexto del perfil principal para OpenGL 3+ (uno en el que se ha eliminado completamente la funcionalidad obsoleta), debe tomar medidas especiales. Pero ya que la versión 2.7 GLFW tiene una herramienta para esto utilizando la función GLFWOPENWINDOWHINT. Pero si no desea prohibir explícitamente las funciones obsoletas, simplemente puede usar el contexto proporcionado por las funciones predeterminadas predeterminadas de GLFW, que supuestamente se admite por la versión máxima posible de su equipo y controladores.

Pero también tenga en cuenta que para usar las funciones de OpenGL anteriores la versión 1.1, debe obtener los punteros correspondientes a la función o usar la biblioteca que lo procesa, por ejemplo.

Comencé a escribir programas, en C (en este momento) usando GLFW y OpenGL. La pregunta es que ¿cómo descubrir qué versión de OpenGL será utilizada por mi programa? Mi computadora portátil dice que mi tarjeta de video tiene OpenGL 3.3. Entrar "GlxInfo | GREP -I OpenGl regresa.

4 respuestas

Me temo que tiene que abrir la línea de comando de su primer día Linux (no se preocupe, le sucedió también). Aplicaciones -\u003e Estándar -\u003e Terminal. Escriba lspci y presione ENTER. Aquí están todas las conexiones a través de PCI o PCI Express, incluida una tarjeta de video. Lea la lista hasta que vea algo sobre ATI o NVIDIA o uno de los modelos Intel.

luego, vaya a las tablas comparativas de Wikipedia para tarjetas de video para averiguar la versión de OpenGL que su tarjeta admite.

recuerda que solo dicen qué versión soporta el equipo. Para poder ejecutar Bibliotecas OpenGL, también necesita un controlador que los apoye. Múltiples controladores de video para cada chip de generación para Linux. Ubuntu viene con versiones de código abierto que no son malas, sino, como regla general, a un paso detrás de los conductores patentados liberados por fabricantes gráficos (que a menudo se llaman controladores binarios o conductores patentados). Si resulta que su equipo admite OpenGL 2.0 (lo que más), puede probar los controladores patentados. Se llaman Corriente NVIDIA para NVIDIA y FGLRX para ATI. Para Intel solo hay controladores de código abierto.

un ejemplo de mi laptop:

PROMPT\u003e lspci | GREP VGA 00: 02.0 VGA Controlador compatible: Intel Corporation Corporation Procesador Integrado Controlador de gráficos (Rev 02) 01: 00.0 Controlador compatible VGA: NVIDIA Corporation Dispositivo 0DF0 (REV A1) PROMPT\u003e

y el extracto correspondiente de LSHW:

* -PCI: 0 Descripción: PCI Bridge Producto: Procesador de núcleo PCI Express X16 Proveedor de puerto raíz: Intel Corporation Identificación física: 1 Información del autobús: 00: 01.0 Versión: 02 Ancho: 32 Bits Reloj: 33MHz Capacidades: PCI MSI PCIExpress Normal_DECODE Bus_master Cap_list Configuración: Controlador \u003d PCIPORT Recursos: IRQ: 42 IOPORT: 2000 (Tamaño \u003d 4096) Memoria: FB000000-FBFFFFFF IOPORT: F0000000 (Tamaño \u003d 167,772,160) * -Display Descripción: VGA Controlador Compatible Producto: NVIDIA Corporation Identificación física : 0 BUS INFORMACIÓN: 01: 00.0 VERSIÓN: A1 Anchura: 64 bits Reloj: Capacidades de 33 MHz: Configuración Cap_List PM MSI PCIExpress VGA_Controller Bus_master: Driver \u003d Nouveau Latencia \u003d 0 Recursos: IRQ: 16 memoria: FB000000-FBFFFFFFFM mEMORIA: F0000000- F7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFLE: 2000 (Tamaño \u003d 128) * -Display Descripción: VGA Controlador compatible Producto: Procesador de núcleos Controlador de gráficos integrado Vendor: Intel Corporation Identificación física: 2 Información del autobús.