小编Dav*_*vid的帖子

CSS3转型:多个起源?

是否可以在左上角指定原点(0%,0%)进行缩放,在CSS3中指定不同的原点(中心)进行旋转?我只使用webkit,如果有帮助的话.

我目前正在使用转换列表(即-webkit-transform:scale(newScale)rotate(newRotate)

但似乎不可能改变中间传球之间的原点.有没有更好的方法来看待这个?目前,如果我缩放一个对象并使用默认中心的原点旋转它,则元素的位置现在处于关闭状态,因此当您拖动元素时,光标仍然位于元素的左上角,而它应该是在中心.将原点更改为中心以缩放它可修复此问题,但会出现旋转和翻转的新问题.

css webkit css3 css-transforms

12
推荐指数
1
解决办法
6515
查看次数

OpenGL ES 2.x:如何丢弃深度缓冲区glDiscardFramebufferEXT?

我阅读了iOS OpenGL ES逻辑缓冲区加载,通过在每个绘制周期后"丢弃"深度缓冲区可以达到性能增益.我试试这个,但这是因为我的游戏引擎不再渲染.当我尝试渲染下一个循环时,我得到一个glError 1286或GL_INVALID_FRAMEBUFFER_OPERATION_EXT.

如果我要丢弃它,我感觉我需要在每个周期初始化或设置深度缓冲区,但我似乎无法找到任何相关信息.这是我如何初始化深度缓冲区(实际上是所有缓冲区):

    // ---- GENERAL INIT ---- //        
    // Extract width and height.
    int bufferWidth, bufferHeight;
    glGetRenderbufferParameteriv(GL_RENDERBUFFER,
                                 GL_RENDERBUFFER_WIDTH, &bufferWidth);
    glGetRenderbufferParameteriv(GL_RENDERBUFFER,
                                 GL_RENDERBUFFER_HEIGHT, &bufferHeight);

    // Create a depth buffer that has the same size as the color buffer.
    glGenRenderbuffers(1, &m_depthRenderbuffer);
    glBindRenderbuffer(GL_RENDERBUFFER, m_depthRenderbuffer);
    glRenderbufferStorage(GL_RENDERBUFFER, GL_DEPTH_COMPONENT24_OES, GAMESTATE->GetViewportSize().x, GAMESTATE->GetViewportSize().y);

    // Create the framebuffer object.
    GLuint framebuffer;
    glGenFramebuffers(1, &framebuffer);
    glBindFramebuffer(GL_FRAMEBUFFER, framebuffer);
    glFramebufferRenderbuffer(GL_FRAMEBUFFER, GL_COLOR_ATTACHMENT0,
                              GL_RENDERBUFFER, m_colorRenderbuffer);
    glFramebufferRenderbuffer(GL_FRAMEBUFFER, GL_DEPTH_ATTACHMENT,
                              GL_RENDERBUFFER, m_depthRenderbuffer);
    glBindRenderbuffer(GL_RENDERBUFFER, m_colorRenderbuffer);
Run Code Online (Sandbox Code Playgroud)

以下是我想要在每个绘制周期结束时丢弃深度缓冲区的方法:

    // Discard the depth buffer
    const GLenum discards[]  = …
Run Code Online (Sandbox Code Playgroud)

iphone opengl-es framebuffer depth-buffer

2
推荐指数
1
解决办法
7255
查看次数