- 博客(6)
- 资源 (2)
- 问答 (1)
- 收藏
- 关注
原创 OpenGL 鼠标位置转换世界坐标系 射线实现方法
[-1 -- 1]mousex [1 -- -1]mousey裁剪坐标系全是 1 -1 直接就z=1 x=2*mousex/winWidth-1; y=1-2*mousey/winHeightvec4 posNDS(x,y,z,1.0) 然后本身是MVP得到的pro的逆矩阵*posNDS一下得到视觉坐标系 再view的逆矩阵*一下 得到世界坐标系然后全部/W 这里W是1 相机位置搭配这...
2018-05-30 18:22:07 1361
原创 QT OpenGL 天空盒
正常加载shader program 就是图片不一样了 立方体贴图 可以看看learnopenglQT里面封装了QOpenGLTexture这个类设置target就可以加载立方体贴图initTextures(){ const QImage posx = QImage(":/left.jpg").mirrored().convertToFormat(QImage::Format_RGB...
2018-05-27 15:37:39 884 2
原创 QT FBO
QOenGLFrameBufferObject这个要在initializeOpenGLFunctions()这之后才行framebuffer=new QOpenGLFramebufferObject(w,h, QOpenGLFramebufferObject::Depth);这个framebuffer->bind();release();void MainWidget::paintGL(){...
2018-05-21 14:06:45 1029
原创 cocos2dx愉快的加载shader
逛cocos China看到的shader导致内存不断上升解决方案getorcreatewithName的创建方式每次都会创建新的。最好先找找是否有缓存的可以拿来用void loadShaders(const char * vert, const char * frag, Sprite*_sprite){ auto glprogram=GLProgramCache::getInstance()...
2018-05-17 15:06:31 309
原创 QT OpenGL blinnphong
就是normalize(eyedir+lightdir)求一个halfwaydireyedir=eyepos-fragpos lightdir=lightpos-fragpos fragpos=a_position*modelpow(max( dot(eyedir,halfwaydir),0) ,material.shininess)=specspecular = light.specular...
2018-05-15 10:02:51 221
原创 QT OpenGL shader基础光照
用cube那个工程 自己去把顶点补充一个QVector3D的顶点法向量 然后把需要传入的uniform补上摄像机位置 灯颜色 灯位置 model矩阵 MVP矩阵VERT#ifdef GL_ES// Set default precision to mediumprecision mediump int;precision mediump float;#endifuniform mat4 mvp_m...
2018-05-08 19:56:30 1188
VulkanSDK.zip
2020-08-09
boost 无法使用的问题
2016-12-05
TA创建的收藏夹 TA关注的收藏夹
TA关注的人