小编gen*_*ult的帖子

2D单位矢量的角度?

给定单位矢量0.5,0.5我怎么能找到角度(它的方向),

是吗

cos(x)+ sin(y)?

c++ vector angle

26
推荐指数
3
解决办法
5万
查看次数

glGetShaderiv()中的'iv'代表什么?

什么是iv在结束glGetShaderiv()立场?

opengl

26
推荐指数
2
解决办法
2118
查看次数

如何用零有效地初始化纹理?

我需要用零初始化OpenGL 2D纹理.

为什么?我用OpenCL渲染到这个纹理.粗略地说,渲染阶段是:

  1. 创建RGBA纹理,用零初始化(因此它包含透明的黑色像素)
  2. OpenCL:计算某些对象可见的像素颜色并将其写入此纹理
  3. OpenGL:将环境映射添加到透明像素并显示最终图像

因此,我不需要传递任何实际的纹理数据glTexImage2d.但根据规范,当我传递data = NULL时,纹理内存被分配但未初始化.

分配一个充满零和传递的客户端内存glTexImage2D不是一个很好的选择,虽然只有一个我能想到的.

编辑:我实际上只想初始化alpha组件(RGB无论如何都会被覆盖),但我怀疑这会使情况变得更容易.

opengl

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

libpcap可捕获10 Gbps网卡

我想从丢失0包的10Gbps网卡中捕获数据包.我正在使用lipcap用于100Mbps网卡,它工作正常.libpcap能否处理10Gbps网卡流量?如果没有,还有什么其他替代方法可以实现这一目标?

c++ networking

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

ImportError:没有名为OpenGL.GL的模块

我正在尝试使用Python 2.7.3 在这里运行NeHe的教程,但它正在抛出错误ImportError: No module named OpenGL.GL

那么我该如何解决这个问题呢?这是代码:

from OpenGL.GL import *
Run Code Online (Sandbox Code Playgroud)

python opengl

25
推荐指数
4
解决办法
4万
查看次数

在android中使用moveTaskToBack()方法的目的是什么?

我在我的活动中使用moveTaskToBack()方法.

当我按下后退按钮时,活动仍然可见.后退键不起作用.我在这做错了什么?我想回到之前的活动.

public void onBackPressed() {
    // TODO Auto-generated method stub
    moveTaskToBack(true);
    new Finalizer().killApp(false);
    super.onBackPressed();
}
Run Code Online (Sandbox Code Playgroud)

android android-activity

25
推荐指数
1
解决办法
4万
查看次数

是否有适合iPhone SDK的OpenGL文本绘图库?

我试图弄清楚在OpenGL中绘制一些文本的简单方法.我的研究表明它是一项相当复杂的任务.它涉及创建(或在运行时生成)字体图集纹理,然后为每个字母创建一个四边形,只有正确的位置和纹理坐标.

我听说过一些关于freetype的好东西,但是对于如何让它在iPhone上运行却发现很少,而且看起来相当复杂.

那么是否有任何Objective-C包装的OpenGL文本库可以与人们一直使用的iPhone SDK一起使用?或者我只是在思考这个问题而且我有一个更容易的方法,我错过了?

cocoa-touch opengl-es freetype

24
推荐指数
3
解决办法
2万
查看次数

GLEW做了什么以及为什么需要它?

好的,所以我已经知道为什么我需要GLEW,但只有一点.

如果我使用现代OpenGL的东西,可能是从版本3.0开始,和/或使用核心配置文件,那么GLEW是必需的,因为没有它编译产生的错误,如未glGenVertexArrays声明.

所以GLEW做了一些背景工作,包括我们想要使用的现代OpenGL函数.

除此之外,还有什么其他的吗?另外,它是如何工作的.

举个例子,它是否改进了跨平台编译?(例如,如果从Linux迁移到Windows或OS X,需要对代码进行少量修改?

它是否也改善了图形硬件的"跨平台性"?例如,假设我们有两台相同的计算机,包括操作系统.在一个系统上使用OpenGL 4.3命令编译程序.如果其他系统有只支持OpenGL 3.3的显卡或驱动程序,那么GLEW会帮忙吗?(也许是为旧版OpenGL编译着色器?)

所以你可能会发现我实际上并不知道GLEW做了什么或它是如何做到的.

最后一点; 有谁知道如何使用GLEW与GLFW?我可能会将其作为一个单独的问题发布.

opengl glew opengl-3 opengl-4

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

为什么 std::vector CTAD 同时接受 int 和 double ?

#include <boost/type_index.hpp>
#include <iostream>
#include <vector>

int main()
{
    std::vector v{2, 3.14};
    std::cout << boost::typeindex::type_id_with_cvr<decltype(v)>().pretty_name() << '\n';

    std::cout << "size: " << v.size() << '\n';
    for (auto x : v)
        std::cout << "- " << x << '\n';
}
Run Code Online (Sandbox Code Playgroud)

输出是:

#include <boost/type_index.hpp>
#include <iostream>
#include <vector>

int main()
{
    std::vector v{2, 3.14};
    std::cout << boost::typeindex::type_id_with_cvr<decltype(v)>().pretty_name() << '\n';

    std::cout << "size: " << v.size() << '\n';
    for (auto x : v)
        std::cout << "- " << x << '\n';
}
Run Code Online (Sandbox Code Playgroud)

std::vector …

c++ c++17 ctad

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

iOS CVImageBuffer使用AVCaptureSessionPresetPhoto从AVCaptureSessionDataOutput失真

在高层次上,我创建了一个应用程序,让用户可以指向他或她的iPhone相机并查看已经过视觉效果处理过的视频帧.此外,用户可以点击按钮将当前预览的定格作为保存在其iPhone库中的高分辨率照片.

为此,该应用程序遵循以下过程:

1)创建AVCaptureSession

captureSession = [[AVCaptureSession alloc] init];
[captureSession setSessionPreset:AVCaptureSessionPreset640x480];
Run Code Online (Sandbox Code Playgroud)

2)使用后置摄像头连接AVCaptureDeviceInput.

videoInput = [[[AVCaptureDeviceInput alloc] initWithDevice:backFacingCamera error:&error] autorelease];
[captureSession addInput:videoInput];
Run Code Online (Sandbox Code Playgroud)

3)将AVCaptureStillImageOutput连接到会话,以便能够以Photo分辨率捕获静止帧.

stillOutput = [[AVCaptureStillImageOutput alloc] init];
[stillOutput setOutputSettings:[NSDictionary
    dictionaryWithObject:[NSNumber numberWithInt:kCVPixelFormatType_32BGRA]
    forKey:(id)kCVPixelBufferPixelFormatTypeKey]];
[captureSession addOutput:stillOutput];
Run Code Online (Sandbox Code Playgroud)

4)将AVCaptureVideoDataOutput连接到会话,以便能够以较低分辨率捕获单个视频帧(CVImageBuffers)

videoOutput = [[AVCaptureVideoDataOutput alloc] init];
[videoOutput setVideoSettings:[NSDictionary dictionaryWithObject:[NSNumber numberWithInt:kCVPixelFormatType_32BGRA] forKey:(id)kCVPixelBufferPixelFormatTypeKey]];
[videoOutput setSampleBufferDelegate:self queue:dispatch_get_main_queue()];
[captureSession addOutput:videoOutput];
Run Code Online (Sandbox Code Playgroud)

5)在捕获视频帧时,将每个新帧作为CVImageBuffer调用委托的方法:

- (void)captureOutput:(AVCaptureOutput *)captureOutput didOutputSampleBuffer:(CMSampleBufferRef)sampleBuffer fromConnection:(AVCaptureConnection *)connection
{
    CVImageBufferRef pixelBuffer = CMSampleBufferGetImageBuffer(sampleBuffer);
    [self.delegate processNewCameraFrame:pixelBuffer];
}
Run Code Online (Sandbox Code Playgroud)

6)然后委托处理/绘制它们:

- (void)processNewCameraFrame:(CVImageBufferRef)cameraFrame {
    CVPixelBufferLockBaseAddress(cameraFrame, 0);
    int bufferHeight = CVPixelBufferGetHeight(cameraFrame);
    int bufferWidth = CVPixelBufferGetWidth(cameraFrame);

    glClear(GL_COLOR_BUFFER_BIT);

    glGenTextures(1, …
Run Code Online (Sandbox Code Playgroud)

iphone opengl-es image-processing ios opengl-es-2.0

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