【发布时间】:2016-12-23 14:40:14
【问题描述】:
我想知道是否可能,使用批处理脚本或其他 Windows(XP、七、八、十)或兼容的脚本来获取当前的驱动程序 OpenGL 版本。
我想让我的部分 bash 脚本适应 Windows:
#!/bin/bash
#
# Autor : Inukaze ( Venezuela )
# Site : http://inukaze.wordpress.com
# E-Mail : inukaze.otaku@gmail.com
# License : GPL 3
#
#
# Obtener la Architecture
Architecture=$(uname -m)
case "$Architecture" in
x86) Architecture="x32" ;;
i?86) Architecture="x32" ;;
amd64) Architecture="x64" ;;
x86_64) Architecture="x64" ;;
* ) echo "Your Architecture Detected $Architecture -> Its not supported" ;;
esac
# Detect OpenGL Version :
OpenGLV=$(glxinfo | grep "OpenGL version" | awk '{ print $4 }' | cut -c 5- | rev)
# Use the version of GzDoom according to the OpenGL version detected
case "$OpenGLV" in
1)
echo
echo "OpenGL 1 Detected"
echo
echo "Using GzDoom 1.8.6"
Version=1.8.6
if [ "$Architecture" = "x32" ]; then
LD_LIBRARY_PATH="Gnu/Linux/$Version/lib32"
export LD_LIBRARY_PATH
Engine="Gnu/Linux/$Version/gzdoom.$Architecture"
elif [ "$Architecture" = "x64" ]; then
LD_LIBRARY_PATH="Gnu/Linux/$Version/lib64"
export LD_LIBRARY_PATH
Engine="Gnu/Linux/$Version/gzdoom.$Architecture"
else
echo "Your Architecture Detected $Architecture -> Its not supported"
fi
;;
2)
echo
echo "OpenGL 2 Detected"
echo
echo "Using GzDoom GzDoom 1.9.1"
Version=1.9.1
if [ "$Architecture" = "x32" ]; then
LD_LIBRARY_PATH="Gnu/Linux/$Version/lib32"
export LD_LIBRARY_PATH
Engine="Gnu/Linux/$Version/gzdoom.$Architecture"
elif [ "$Architecture" = "x64" ]; then
LD_LIBRARY_PATH="Gnu/Linux/$Version/lib64"
export LD_LIBRARY_PATH
Engine="Gnu/Linux/$Version/gzdoom.$Architecture"
else
echo "Your Architecture Detected $Architecture -> Its not supported"
fi
;;
3)
echo
echo "OpenGL 3 Detected"
echo
echo "Using GzDoom GzDoom 2.1.1"
Version=2.1.1
if [ "$Architecture" = "x32" ]; then
LD_LIBRARY_PATH="Gnu/Linux/$Version/lib32"
export LD_LIBRARY_PATH
Engine="Gnu/Linux/$Version/gzdoom.$Architecture"
elif [ "$Architecture" = "x64" ]; then
LD_LIBRARY_PATH="Gnu/Linux/$Version/lib64"
export LD_LIBRARY_PATH
Engine="Gnu/Linux/$Version/gzdoom.$Architecture"
else
echo "Your Architecture Detected $Architecture -> Its not supported"
fi
;;
*)
echo "OpenGL version not determined"
;;
esac
export Architectures
for Architectures in $Architecture; do
test -x ./$Engine || continue
exec ./$Engine "$@"
done
echo "Could not start GzDoom" >&2
但我不知道在批处理脚本或其他脚本上获取 OpenGL 版本的方法。或者如果有人知道一个简单的命令行工具,我会得到它并在我想适应 Windows 兼容的新脚本中使用它。
【问题讨论】:
-
您是否打算在最终运行该程序的机器上构建程序?
-
是的,不仅在我的电脑上,在其他电脑上,使用 OpenGL 1.0、OpenGL 2.0 和 OpenGL 3.0 的不同 GPU
-
AFAIK 你需要一些实用程序。创建简单的 .exe 或 google 现有的。 GLEW 附带了 visualinfo,它会输出诸如
OpenGL version string: 4.0.0 - Build 10.18.10.4061之类的信息以及其他信息。 -
请不要使用“wanna”、“dude”等俚语,因为这可能会让人很困惑。
标签: windows bash batch-file opengl version