标签: rendering

为什么我的EAGLVIew不再在iOS 4.2中渲染?

升级到iOS SDK 4.2我在我的应用程序中遇到了一些错误行为(另一个在这里被问到).我要问你的帮助是关于一个OpenGL视图(一个EAGLView子类),它不再渲染我正在放入的3d模型.

视图已分配,它似乎识别出手势,但其内容不可见(我已经检查过它是关于视图的,而不是通过为背景着色而错误放置模型:它不会对其进行着色glClearColor()).

当我双击它时,它将调整此方法的大小调整(它会全屏,在此之前它是一个小小的UIVIew):

- (void)animateToGrow{
    DNSLog(@"grow");
    grow = YES;
    oldFrame = self.frame;
    oldCenter = self.center;

    [UIView beginAnimations:@"MoveAndStrech" context:nil];
    [UIView setAnimationDuration:0.5];
    [UIView setAnimationBeginsFromCurrentState:YES];

    self.frame = CGRectMake(0, 0, WIDTH, HEIGHT); 
    self.center = CGPointMake(CENTER_X, CENTER_Y);
    [UIView commitAnimations];
    [self setupGLPerspectiveNear:0.1 far:1000];
}
Run Code Online (Sandbox Code Playgroud)

并且奇迹般地出现了模型,甚至背景也变得有色.

我有一个方法可以调整它的大小并使其恢复到之前的帧和中心位置,当它被调用时,视图再次变为"空".

在任何建议之前?(如果需要,我可以发布更多代码)

更新 这是在模拟器上发生的(此时无法在设备上进行测试).如果这是一个公认的错误,有没有人参考Apple文档?

更新2 我使用的是OpenGL ES 1.1而不是2.0.

这是我在EAGLView中所做的layoutSubViews:

- (void)layoutSubviews 
{
    [EAGLContext setCurrentContext:_context];
    [self destroyFramebuffer];
    [self createFramebuffer];
    [self drawView];
}
Run Code Online (Sandbox Code Playgroud)

这是我的 createFramebuffer

- (BOOL)createFramebuffer …
Run Code Online (Sandbox Code Playgroud)

iphone rendering opengl-es eaglview ios4

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

我用什么CSS代码让我的网​​页填满iPhone或Android的屏幕?

我有下面的HTML代码.我已将机身宽度设置为640px,接近iPhone的分辨率.但是,当我在iPhone或Android上查看网页时,它会像在我的网络浏览器中一样显示 - 只占用屏幕的一部分.文字很小,不可用.

我使用什么CSS代码,以便文本在桌面浏览器中保持正常,但在移动设备上填充屏幕?我读了一些关于使用device-width属性的事情,但我也无法使用它们.我究竟做错了什么?

注意 我并没有试图让红色边框在屏幕上一直伸展(例如:body:width100%).我只是不明白为什么iPhone没有放大到设置为它应该具有的相同分辨率的区域.

HTML代码:

<style>
    body{ width:640px; border: 1px solid red; }
</style>

</head>
<body>
Hello World
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

实际产量:

actual1.jpg http://img88.imageshack.us/img88/7136/actual1.jpg

期望的输出:

desired.jpg http://img80.imageshack.us/img80/5716/desired.jpg

html css iphone android rendering

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

如何查看.PBRT文件的图像

我是新手使用PBRT(基于物理的光线跟踪)..如何查看.pbrt文件的图像.

我在命令提示符下完成了以下步骤:

set PBRT_SEARCHPATH=C:\pbrt-1.03-lc\bin
    cd C:\pbrt-1.03-lc\scenes\Conference
    ..\..\bin\pbrt.exe conference.pbrt
Run Code Online (Sandbox Code Playgroud)

graphics rendering raytracing pbrt

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

Android - 是否可以在文本上叠加文字?

我想为Android应用程序创建数学的特殊字符.
我想知道是否可以将一个字符叠加在另一个字符之上,或者如何对文本的呈现方式进行精细控制(以及如何进行此操作).

android text rendering

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

如何在白色背景上显示Libgdx粒子效果?

目前在我render()的背景颜色设置为白色,但当我将其更改为白色时,根本无法看到我的效果.

我想知道是否有我需要启用的选项或我可能错过的一行代码?

public void render(float delta) {
    Gdx.gl.glClearColor(0, 0, 0, 1);
    Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT);

    batch.begin();
    effect.update(delta);
    effect.draw(batch);

    batch.end();

}
Run Code Online (Sandbox Code Playgroud)

//这是.p文件

Untitled
- Delay -
active: false
- Duration - 
lowMin: 3000.0
lowMax: 3000.0
- Count - 
min: 0
max: 200
- Emission - 
lowMin: 0.0
lowMax: 0.0
highMin: 250.0
highMax: 250.0
relative: false
scalingCount: 1
scaling0: 1.0
timelineCount: 1
timeline0: 0.0
- Life - 
lowMin: 0.0
lowMax: 0.0
highMin: 500.0
highMax: 1000.0
relative: false
scalingCount: 3
scaling0: 1.0
scaling1: 1.0 …
Run Code Online (Sandbox Code Playgroud)

java rendering particle-system libgdx

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

OpenGL - 索引缓冲困难

我有一个自定义文件格式,其中包含3D网格所需的所有信息(从3ds Max导出).我已经提取了顶点,顶点索引和法线的数据.

我向顶点数据,顶点索引和法线数据传递给OpenGL,我通过调用渲染网格 glDrawElements(GL_TRIANGLES,...)

一切看起来都正常,但正常情况.问题是法线具有不同的指数.并且因为OpenGL只能使用一个索引缓冲区,所以它对顶点和法线都使用该索引缓冲区.

如果你能建议我如何解决这个问题,我将非常感激.

需要注意的重要一点是顶点/普通数据没有"排序",因此我无法使用glDrawArrays(GL_TRIANGLES,...)- 网格无法正确渲染的功能.

有没有一种方法/算法可以用来对数据进行排序,以便可以正确绘制网格glDrawArrays(GL_TRIANGLES,..)?但即使有一个算法,还有一个问题 - 我将不得不复制一些顶点(因为我的顶点缓冲区由唯一的顶点组成 - 例如,如果你有立方体我的缓冲区将只有8个顶点)我不确定怎么做.

c++ opengl 3d rendering mesh

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

无法将超类强制转换为子类

我目前正在我的游戏和渲染引擎之间编写一个抽象层.不幸的是,我遇到了一个问题:我似乎无法将超类(抽象接口)强制转换为子类(具体引擎的实现).这是我的代码:

IInitationSettings.h

class IInitationSettings {};
Run Code Online (Sandbox Code Playgroud)

OxygineInitiationSettings.h

#include "IInitiationSettings.h"
#include "core/oxygine.h"
class OxygineInitiationSettings : public IInitationSettings, public oxygine::core::init_desc {
public:
    OxygineInitiationSettings(const char* title, bool vsync, bool fullscreen, int width, int height);
};
Run Code Online (Sandbox Code Playgroud)

OxygineInitiationSettings.cpp

#include "OxygineInitiationSettings.h"
OxygineInitiationSettings::OxygineInitiationSettings(const char* title, bool vsync, bool fullscreen, int width, int height) : oxygine::core::init_desc() {
    this->title = title;
    this->vsync = vsync;
    this->fullscreen = fullscreen;
    this->w = width;
    this->h = height;
}
Run Code Online (Sandbox Code Playgroud)

抽象的init方法:

static void init(IInitiationSettings& initSettings);
void GraphicsFactory::init(IInitiationSettings& initSettings){
#ifdef USE_OXYGINE_RENDERING
    OxygineInitiationSettings settings = initSettings; //Does not …
Run Code Online (Sandbox Code Playgroud)

c++ inheritance rendering abstraction

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

在GTX 980上进行深度预先通过后Z战斗

我正在OpenGL中实现深度预处理.在Intel HD Graphics 5500上,此代码工作正常,但在Nvidia GeForce GTX 980上却没有(下图显示了由此产生的z-fighting).我正在使用以下代码生成图像.(省略了与问题无关的所有内容.)

// ----------------------------------------------------------------------------
// Depth Prepass
// ----------------------------------------------------------------------------

glEnable(GL_DEPTH_TEST);
glColorMask(GL_FALSE, GL_FALSE, GL_FALSE, GL_FALSE);
glDepthFunc(GL_LESS);
glDepthMask(GL_TRUE);

glUseProgam(program1); // The problem turned out to be here!

renderModel(...);

// ----------------------------------------------------------------------------
// Scene Rendering
// ----------------------------------------------------------------------------

glEnable(GL_DEPTH_TEST);
glDepthFunc(GL_LEQUAL);
glDepthMask(GL_FALSE);
glColorMask(GL_TRUE, GL_TRUE, GL_TRUE, GL_TRUE);

glUseProgam(program2); // The problem turned out to be here!

renderModel(...);
Run Code Online (Sandbox Code Playgroud)

似乎glDepthFunc没有更改为GL_LEQUAL.但是,当我逐步完成RenderDoc中的GL调用时,glDepthFunc会设置为correnctly.

这听起来像是一个驱动程序错误,或者你有什么建议我可能做错了吗?当这是一个驱动程序错误时,我怎么能实现深度预先通过呢?

在Nvidia GeForce GTX 980上进行战斗

opengl rendering depth-testing

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

缺少用于在Colab中渲染OpenAI Gym的软件包

我正在尝试使用先前在此主题问题中引用的StarAI代码通过Mac在Colab中渲染OpenAI Gym环境。但是,它失败了。关键错误(至少是第一个错误)在下面完整显示,但是导入部分似乎是“请安装xdpyinfo!”。

PyPI没有xdpyinfo。它是什么?如何安装?

完整的错误消息:

482780428160 abstractdisplay.py:151]找不到xdpyinfo,无法检查X启动!请安装xdpyinfo!

rendering openai-gym google-colaboratory

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

根据选定的输入数字迭代v-for

我想实现以下目标:如果用户选择输入X(这是一个数字,可以说1、2、3 ... 10),我也想渲染特定的其他vue组件x次。如果我用10中的v-for n来解决这个问题,它会起作用,但是如果我使用变量,它就不会起作用。

    <template>
<div>
    <select v-model="selected" >
    <option disabled value="">Please select one</option>
    <option>1</option>
    <option>2</option>
    <option>3</option>
    </select>

    <span v-for="n in selected" :key="n">{{"hey"}}</span>


</div>
</template>

<script>
export default {
  data: function () {
      return {
        selected: ''
      }
  },
}
</script>
Run Code Online (Sandbox Code Playgroud)

有什么好主意吗?我刚刚返回了一些字符串rn,(但是它必须是一个组件,但是我可以将字符串替换为正确的组件),如果我将所选的字符串替换为例如5的数字(那么它将呈现5倍)

在简短的说明上也很明显:当我用n替换“ hey”时,它将呈现正确的数字。(数字而不是次数,它显示1 2 3 ...,但仅显示一次)

javascript rendering list vue.js

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