我们使用半圆作为png图像,我们正在旋转以适应我们使用opengl旋转API的圆边框我们没有得到正确的解决方案,可以指出原因是什么。
function data_get_curl($url){
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
$uaa = $_SERVER['HTTP_USER_AGENT'];
curl_setopt($ch, CURLOPT_USERAGENT, "User-Agent: $uaa");
return curl_exec($ch);
}
$cache_option = true;
$id = 'DU6IdS2gVog';
$url = 'https://www.googleapis.com/youtube/v3/videos?key={Youtube_Api}&fields=items(snippet(title%2Cdescription%2Ctags))&part=snippet&id=DU6IdS2gVog';
$data = data_get_curl($url);
header('Content-Type: application/json');
echo $data;
function cache_set($id,$data,$time = 84600){
if(!$cache_option) return NULL;
$name = ROOT."/cache/".md5($id).".json";
$fh = fopen($name, "w");
fwrite($fh, serialize($data));
fclose($fh);
}
function cache_get($id){
if(!$cache_option) return NULL;
$file = ROOT."/cache/".md5($id).".json";
if(file_exists($file)){
if(time() - 84600 < filemtime($file)){
return unserialize(data_get_curl($file));
}else{
unlink($file);
}
}
return NULL;
}
其中m_uiTextures用于加载纹理。
答案 0 :(得分:1)
从我的猜测来看,你正在二维表面绘制一个四边形而没有#34;到世界坐标&#34;转换,但你仍然在3d旋转,它不好。
glm :: rotate要求您提供一个矩阵来存储旋转,旋转角度以及围绕哪个轴旋转。 如果你想围绕x轴旋转:
transform = glm::rotate(transform,angle,glm::vec3(1.0f,0.0f,0.0f);
或者您想围绕y轴和z轴旋转
transform = glm::rotate(transform,angle,glm::vec3(0.0f,1.0f,1.0f)'
更改
transform = glm::rotate(transform, glm::radians(-60.0f), glm::vec3(m_fAltXPos, m_fAltYPos, 0.0f));
到
transform = glm::rotate(transform, glm::radians(-60.0f), glm::vec3(0.0f, 0.0f, 1.0f));
只是因为你在2D空间工作而且你不会受益于围绕x或y轴的旋转。