Estoy tratando de decidir si utilizar principalmente flotantes o ints para todos los elementos relacionados con 3D en mi aplicación (que es C++ en su mayor parte). Entiendo que la mayoría de los dispositivos basados en ARM no tienen soporte de coma flotante de hardware, por lo que creo que cualquier carga pesada con flotadores sería notablemente más lenta.Punto flotante o punto fijo para aplicaciones Android NDK OpenGL?
Sin embargo, estoy planeando preparar todos los datos en su mayor parte (es decir, tener búferes de vértices donde corresponda y transformar usando matrices que no cambian mucho), así que estoy comprimiendo datos en la garganta de OpenGL. ¿Puedo suponer que esto va más o menos directo a la GPU y, como tal, será razonablemente rápido? (Por cierto, el requisito mínimo es OpenGL ES 2.0, por lo que presumiblemente excluye teléfonos antiguos basados en 1.x)
Además, ¿cómo es la penalización cuando mezclo y combino ints y flotadores? Asumiendo que toda mi geometría son solo buffers flotantes preconstruidos, pero utilizo ints para matrices ya que requieren operaciones costosas como las multiplicaciones de matrices, ¿con qué ira incurriré aquí?
Por cierto, sé que debo mantener mis expectativas bajas (parece que pedir flotadores en la CPU es pedir demasiado), pero ¿hay algo remotamente como los registros de VMX de 128 bits?
(Y estoy esperando secretamente que fadden está leyendo esta pregunta y tiene una respuesta impresionante.)
Sabía que fadden tenía la respuesta a esto. Desearía poder votar más de una vez :) Ya me estoy restringiendo a OpenGL ES 2.0 para poder escribir vertebrados y fragmentar sombreadores, así que supongo que puedo ir hasta el final y requerir ARMv7 (que probablemente va de la mano) mano). Prefiero atraer a más personas de una base de usuarios más pequeña con una aplicación de gran apariencia que arrojar algo de basura a las masas. En su mayoría, ya dejaron de hacer juegos para la PlayStation 1 también. – EboMike
Luego, debe ir a flotar en ARMv7. No va de la mano con OpenGL ES 2.0, pero está cerca de – ognian
Parece que la mayoría de los teléfonos nuevos tienen OpenGL ES 2.0. Sin embargo, analicé los puntajes de referencia, como el índice de referencia AnTuTu, y encontré que muchos de los modelos de menor precio no tienen FPU. –