小编Gop*_*gop的帖子

寻找Android的FFmpeg Wrappers

stackoverflow ers,

我需要使用FFmpeg将视频和一些照片组合起来制作视频.我已经设法在我的系统上编译FFmpeg并静态链接它.现在我正在寻找利用ffmpeg来完成Android任务的包装/图书馆.

我尝试过的:

  • Guardian项目代码,Awesome api,简单而且很好,但是当运行createSlideshowFromImagesAndAudio时,我得到了一个很好的返回代码,但是我的设备上从未创建过该文件(如果您有使用此代码的经验,我得到的返回代码是11).
  • JCodec,慢慢地说道.
  • FMJ,不支持我要求的功能.

所以问题仍然存在,Android的FFmpeg包装有什么好处?

video android ffmpeg codec wrapper

5
推荐指数
1
解决办法
1640
查看次数

LWJGL包括GUI类?

LWJGL是否包含GUI类,或者您是否手动编写了所有按钮和内容的代码?

java user-interface lwjgl

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

OpenGL 着色器 - 围绕其原点旋转模型(2D 世界)

所以我创建了一个顶点着色器,它接收一个角度并计算旋转。尽管模型围绕世界中心而不是它自己的轴/原点旋转,但存在一个问题。

旁注:这是 2D 旋转。

如何让模型通过它自己的轴旋转?

这是我当前的顶点着色器:

#version 150 core

in vec4 in_Position;
in vec4 in_Color;
in vec2 in_TextureCoord;

out vec4 pass_Color;
out vec2 pass_TextureCoord;

void main(void) {


    gl_Position = in_Position;

    pass_Color = in_Color;
    pass_TextureCoord = in_TextureCoord;
}
Run Code Online (Sandbox Code Playgroud)

旋转 CPU 侧:

    Vector3f center = new Vector3f(phyxBody.getPosition().x,phyxBody.getPosition().y,0);
    Matrix4f pos = new Matrix4f();
    pos.m00 = (phyxBody.getPosition().x)-(getWidth()/30f/2f);
    pos.m01 = (phyxBody.getPosition().y)+(getHeight()/30f/2f);
    pos.m10 = (phyxBody.getPosition().x)-(getWidth()/30f/2f);
    pos.m11 = (phyxBody.getPosition().y)-(getHeight()/30f/2f);
    pos.m20 = (phyxBody.getPosition().x)+(getWidth()/30f/2f);
    pos.m21 = (phyxBody.getPosition().y)-(getHeight()/30f/2f);
    pos.m30 = (phyxBody.getPosition().x)+(getWidth()/30f/2f);
    pos.m31 = (phyxBody.getPosition().y)+(getHeight()/30f/2f);

    pos.rotate(phyxBody.getAngle(),center);
Run Code Online (Sandbox Code Playgroud)

结果是物体发生了奇怪的旋转拉伸。你知道为什么吗?不要担心 /30f 部分。

  • phyxBody 是 …

java opengl rotation vertex-shader

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

使用按位运算符[O(1)]确定数字是否为2的幂

嘿,我有一个简单的问题:

如何在没有任何IF语句或任何其他类型的BOOLEAN表达式的O(1)中使用逐位运算符来确定int是2(仅1个正位)

该方法需要返回一个整数值.

该方法可以返回一个你可以决定的数字,这意味着它的幂为2,另一个数字意味着它不是2的幂.[说负数表示X,正数表示Y也是允许的]

另外,你不能依赖int有32位的事实.

这是我在接受采访时被问到的一个问题.

byte bit-manipulation bit bitwise-operators

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

我如何阅读LWJGL中的精灵表?

我目前使用LWJGL Textures在屏幕上绘制图像.我想从精灵表中读取Textures*.我使用光滑的TextureLoader类来加载纹理.

我绘制一个LWJGL形状并将纹理绑定到它上面.

例如:

我画一个图像:

    Texture texture = ResourceManager.loadTexture("Images/Tests/test.png");

    GL11.glBegin(GL11.GL_QUADS);
    {
      GL11.glTexCoord2f(0, 0);
      GL11.glVertex2f(0, 0);
      GL11.glTexCoord2f(0, texture.getHeight());
      GL11.glVertex2f(0, height);
      GL11.glTexCoord2f(texture.getWidth(), texture.getHeight());
      GL11.glVertex2f(width,height);
      GL11.glTexCoord2f(texture.getWidth(), 0);
      GL11.glVertex2f(width,0);
    }
    GL11.glEnd();
Run Code Online (Sandbox Code Playgroud)

我认为有一种方法在调用glTexCoord2f时,我可以给它一个精灵偏移并在纹理中加载精灵表,

例如,一个调用将是这样的:

      GL11.glTexCoord2f(0+spriteXOffset, texture.getHeight()-spriteYOffset);
Run Code Online (Sandbox Code Playgroud)

但我真的想知道是否有更简单的方法,可能从单个纹理中提取纹理,例如像在这里一样:

从精灵表Java中读取图像

只是代替BufferedImage,Texture对象.

感谢您的帮助!

java textures lwjgl sprite-sheet

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

澄清八角树以及它们如何在Voxel世界中发挥作用

我读到了关于八叉树的信息并且我并没有完全理解它们在一个体素世界中如何工作/被实现,其中八叉树的目的是通过将重复的体素连接到一个大的"体素"来降低您将渲染的体素的数量.

以下是我想澄清的问题:

  • 您将使用什么类型的数据结构?如何将体素的三维阵列转换为具有不同大小的体素的阵列,这些体素在阵列中占据多个位置?
  • 什么是节点以及它们用于什么?
  • 八叉树是否连接体素,因此只有方形或者它可以是矩形或L形或整个Y列的体素或什么?
  • 八叉树真的能提高体素游戏的性能吗?如果是这样通常是多少?

opengl lwjgl voxel multidimensional-array octree

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

Javascript语法错误[Node JS]

我正在学习nodeJS,我有这个语法错误,我不明白.有人可以指出什么是语法错误,为什么我会得到它,以及如何绕过它?

var http = require('http');
var url = require('url');
var server = http.createServer(function(req,res) {
    if (req.method == 'POST') {
        return res.end("Only get requests");
    }
    var st = url.parse(req.url,true);
    if (st.indexOf("parsetime") > -1) {
        var time = st.substring(st.indexOf("iso"));
        var date = new Date(time);
        var out = '{
            "hour":'+date.getHours()+',
            "minute":'+date.getMinutes()+',
            "second":'+date.getSeconds()+',
        }';
        res.writeHead(200, { 'Content-Type': 'application/json' });
        res.end(out);
    } else if (st.indexOf("unixtime") > -1) {
        var time = st.substring(st.indexOf("iso"));
        var date = new Date(time);
        var out = "{
            'unixtime':"+date.getTime()+"
        }";
        res.writeHead(200, { …
Run Code Online (Sandbox Code Playgroud)

javascript syntax syntax-error node.js

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