标签: rendering

立即将图像加载到内存中

我需要打开WPF中的Tiff图像到内存中的所有帧,然后删除源.之后,我最终需要渲染该图像(根据窗口大小调整大小).我的解决方案非常慢,我无法在第一次要求之前删除文件源.任何最佳做法?

memory wpf rendering tiff frames

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

OpenGL:纹理坐标实时变化的地形的最佳渲染方法?

我需要为我的地形纹理实时渲染渲染动画; 这样做的最佳渲染方法是什么?通过调整纹理坐标来完成动画.

我有一个预先构建的数组用于所有动画帧纹理坐标,如果你让opengl知道所有的动画帧或什么东西,有没有办法让动画更快地渲染?

地形多边形位置也可能几乎实时变化......它不是高度图.我想用for循环或其他东西一次只渲染一部分地形.

目前我正在使用显示列表,并且更新它们的速度非常慢......但是到目前为止,渲染它们的速度最快.

c++ opengl rendering terrain

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

为什么在iOS上,glRenderbufferStorage出现失败?

在iOS设备(iPad)上,我决定通过glRenderbufferStorage将CABAGLLayer中的渲染缓冲区的存储更改为显式存储.遗憾的是,以下代码无法生成有效的FBO.有人可以告诉我我错过了什么吗?:

glGenFramebuffers(1, &m_framebuffer);
glBindFramebuffer(GL_FRAMEBUFFER, m_framebuffer);

glGenRenderbuffers(1, &m_colorbuffer);
glBindRenderbuffer(GL_RENDERBUFFER, m_colorbuffer);

GLsizei width  = (GLsizei)layer.bounds.size.width;
GLsizei height = (GLsizei)layer.bounds.size.height;
glRenderbufferStorage(m_colorbuffer, GL_RGBA8_OES, width, height);

glFramebufferRenderbuffer(GL_FRAMEBUFFER, GL_COLOR_ATTACHMENT0, GL_RENDERBUFFER, m_colorbuffer);
Run Code Online (Sandbox Code Playgroud)

注意:
图层大小有效且正确.这是可靠的生产工作渲染代码.我所做的唯一改变就是这条线:

glRenderbufferStorage(...)
Run Code Online (Sandbox Code Playgroud)

以前我做过:

[m_context renderbufferStorage:GL_RENDERBUFFER fromDrawable:layer]
Run Code Online (Sandbox Code Playgroud)

rendering framebuffer ios opengl-es-2.0

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

Backbone.js视图的模板问题:this.el属性

我正在尝试找到渲染li元素的最佳方法:

我读过我永远不应该替换this.el

所以我似乎必须在我的LiView render()函数中解开我的模板:

// replace element content with html generated from template
var $rendered = $.tmpl(this.template, this.model.toJSON());
this.el.html($rendered.unwrap().html());
Run Code Online (Sandbox Code Playgroud)

我只是得到里面的内容$rendered,因为我不应该替换它.

但我应该如何转移属性?

我试过了 :

this.el.attr('class', $rendered.attr('class'));
this.el.attr('title', $rendered.attr('title'));
Run Code Online (Sandbox Code Playgroud)

但它取代了属性......而有些(如jQuery ui ui-draggable)可能会丢失.

这一切看起来有点笨拙......

谢谢 !

rendering view jquery-templates backbone.js

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

渲染二维元素的参考(圆形,圆角矩形,模糊〜)

我正在编写一个Python模块,它应该为低级GUI平台提供简单的OOP接口.为此,需要创建一个由模块中的类使用的包装类.

这是基本实现的(尚)类图.

类图

这个问题实际上并不是关于包的设计,但如果你对它有疑问或者想知道什么可能更好,我不会介意任何评论/评论.

所述DrawArea类是低级别的平台,并在包中的类之间的粘合剂.事件通常从这里开始,因为包装器应该识别鼠标/键盘事件并通知它的孩子.

现在,正如您所看到的,DrawArea类需要实现一些函数来将基本元素呈现到GUI上.现在,我想了解渲染圆,圆角矩形,线条(厚度)和抗锯齿背后的魔力.其中一个原因是我只是对这个主题感兴趣,另一个原因是我想用这个包提供一个实现.(将用C/C++编写,我很确定Python对于这样的渲染操作会很慢,不是吗?)

现在我的问题:

  1. 对于如何渲染圆形,椭圆形,圆角矩形或线条(有一个厚度,单像素线很容易......),有什么好的参考吗?
  2. 对于如何实现抗锯齿有什么好的参考吗?
    • 例如,渲染元素时是否进行了抗锯齿处理,或者在完成所有渲染操作后应用了抗锯齿?
  3. 使用像Path渲染类这样的东西会更好吗?即应该呈现的表单的矢量化表示.这将有利于呈现任何类型的二维形式,但我不知道如何实现它.渲染矢量图形有很好的参考吗?

c++ python user-interface rendering 2d

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

使用ajax primefaces渲染panelgrid

我有这个

<p:selectOneMenu  id="dec" value="#{editCommandController.myCom.decision}" >  
                        <f:selectItems value="#{editCommandController.decisions}" />  
                        <p:ajax update="etat :myform:alors" event="change" />
                    </p:selectOneMenu>  
Run Code Online (Sandbox Code Playgroud)

它允许禁用它

<p:selectOneMenu  id="etat" value="#{editCommandController.myCom.etat}" disabled="#{editCommandController.myCom.decision eq 'rejettée'}" >  
                        <f:selectItems value="#{editCommandController.etats}" />   
                    </p:selectOneMenu> 
Run Code Online (Sandbox Code Playgroud)

当检查条件时,我还想在检查相同条件时隐藏此panelgrid:

 <h:panelGrid id="alors"   rendered="#{editCommandController.myCom.decision ne 'rejettée'}" >
                    <p:dataTable id="cars" style="width: 80px;" var="car" value="#{editCommandController.pdm}" paginator="true" rows="10"  
                                 selection="#{editCommandController.selectedPapier}" selectionMode="single" >  

                        <p:ajax event="rowSelect" listener="#{editCommandController.onRowSelect()}"   
                                update=":myform:jesuis" />  

                        <f:facet name="header">  
                            RadioButton Based Selection  
                        </f:facet>                    

                        <p:column headerText="libelle">  
                            #{car.libelle}  
                        </p:column>  

                        <p:column headerText="format">  
                            #{car.format}  
                        </p:column>  

                        <p:column headerText="stock" >  
                            #{car.stock}  
                        </p:column>  

                    </p:dataTable>  


                    <h:outputText  id="jesuis" value=" c est la papier : #{editCommandController.selectedPapier.libelle}"  />


                    <h:panelGrid …
Run Code Online (Sandbox Code Playgroud)

java rendering java-ee primefaces jsf-2

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

JSF重新渲染复合组件:insertChildren问题

我正在JSF中创建我的第一个复合组件,但我被一个表现奇怪的rerender难倒.这是组件实现(它意味着是一个弹出窗口):

    <composite:implementation>
    <h:outputScript name="nb-popup.js" library="js"/>
    <h:outputStylesheet name="nb-popup.compiled.css" library="style"/>
    <div id="#{cc.clientId}_container" class="nb_popup_container">
        <div style="width:#{cc.attrs.width};height:#{cc.attrs.height};" id="#{cc.clientId}" class="nb_popup">
            <div id="#{cc.clientId}_header" class="nb_popup_header">
                <span class="nb_popup_header_content">
                    <composite:renderFacet name="header"/>
                </span>
                <span class="nb_popup_header_controls">
                    <composite:renderFacet name="controls"/>
                </span>
            </div>
            <div id="#{cc.clientId}_content" class="nb_popup_content">
                <composite:insertChildren/>
            </div>
        </div>
    </div>
    <script>popup('#{cc.clientId}');</script>
</composite:implementation>
Run Code Online (Sandbox Code Playgroud)

例如,假设我们有:

<nb:popup id="extract">
    test
</nb:popup>
Run Code Online (Sandbox Code Playgroud)

生成的HTML没问题:

    <div id="extract_container" class="nb_popup_container">
        <div style="width:auto;height:auto;" id="extract" class="nb_popup">
            <div id="extract_header" class="nb_popup_header">
                <span class="nb_popup_header_content">
                </span>
                <span class="nb_popup_header_controls">
                </span>
            </div>
            <div id="extract_content" class="nb_popup_content">
              test

            </div>
        </div>
    </div>
Run Code Online (Sandbox Code Playgroud)

现在假设我有一个按钮:

    <h:commandLink value="reload">
        <f:ajax render=":extract"/>
    </h:commandLink>
Run Code Online (Sandbox Code Playgroud)

按下它后,我得到以下部分响应,其中实际内容显然不是它应该是的位置:

    <div id="extract_container" class="nb_popup_container">
        <div style="width:auto;height:auto;" …
Run Code Online (Sandbox Code Playgroud)

jsf rendering composite-component

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

透明度问题从Monogame中的PNG加载纹理

我试图在Windows上的MonoGame GL中完成我认为非常简单的事情.那就是从PNG文件加载纹理并将其作为精灵渲染到屏幕上.到目前为止,我遇到了很多麻烦.我正在使用以下代码(F#)将PNG加载到Texture2D:

    use file = System.IO.File.OpenRead("testTexture.png")
    this.texture <- Texture2D.FromStream(this.GraphicsDevice, file)
Run Code Online (Sandbox Code Playgroud)

然后渲染:

    this.spriteBatch.Begin(SpriteSortMode.Immediate, BlendState.NonPremultiplied);
    this.spriteBatch.Draw(this.texture, Vector2.Zero, Color.White)
    this.spriteBatch.End()
Run Code Online (Sandbox Code Playgroud)

这个问题是对alpha通道有一些奇怪的影响,好像有些东西没有通过alpha预乘或某些东西,但我无法准确确定发生了什么.值得注意的是,完全相同的代码使用官方XNA库完美呈现.这个问题只出现在MonoGame中,我使用3.0和3.2版进行了测试,两者都有相同的问题.

这是在MonoGame中渲染测试PNG来说明问题:

http://i.imgur.com/Dny26gI.png

每个图像中的背景是矢车菊蓝色,然后分别是纯红色,绿色和蓝色.请注意,在带有红色背景的图像中,您可以看到纹理中红色线条周围的黑色轮廓.由于线条和背景都是纯红色,因此不应该出现此轮廓.请注意,具有蓝色背景的图像中的蓝线周围会出现相同的情况,但绿色背景的图像中则不会出现相同的情况.在该图像中,绿线与绿色背景融为一体.

下面是使用官方XNA库完全相同的文件呈现方式.

http://i.imgur.com/2Rtqhuk.png

注意当背景颜色相同时,蓝色,绿色和红色线如何融入背景.这是正确的行为.

鉴于相同的代码在XNA和MonoGame中表现不同,我相信框架中必定存在错误.任何人都可以对这个错误的位置和性质有什么好的猜测吗?如果这是一个简单的解决方案,那么最好的解决方案可能就是自己解决这个问题.

除此之外,我真的只是想学习一种方法,我可以简单地加载PNG并将其正确地渲染到MonoGame的屏幕上.我敢肯定,我不能成为第一个想要这样做的人.我想尽可能避免使用内容管道,只是为了简单起见.

更新

我已经做了一些挖掘,试图弄清楚这个问题的本质.我已经更改了testTexture.png文件,以便更多地揭示alpha混合问题.使用这个新的纹理文件后,我拍摄了不正确的MonoGame渲染的截图,并在其单独的颜色通道中查看.发生的事情让我非常困惑.我最初虽然可能是一个BlendState.NonPremultiplied被忽略的简单案例,但我所看到的看起来更复杂.除此之外,绿色通道似乎与蓝色和红色通道的混合方式不同.这是一个相当大的PNG图像,它是关于我正在谈论的截图和解释的汇编:

i.imgur.com/CEUQqm0.png

显然,MonoGame for Windows GL中存在某种错误,可能还有其他版本我没试过这个版本(虽然我有兴趣看看已经验证过).如果有人认为他们知道这里可能会发生什么,请告诉我.

最后,这是重现我遇到的问题的项目文件:

mega.co.nz/#!llFxBbrb!OrpPIn4Tu2UaHHuoSPL03nqOtAJFK59cfxI5TDzLyYI

graphics rendering sprite monogame

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

libgdx:显示已加载模型的线框

我一直在拼命寻找互联网上的解决方案...但我没有比功能更进一步glDrawArrays.我不知道如何使用它,或者为什么它不起作用...我想渲染我使用ObjLoader加载的模型的多边形线(或顶点线).相反,它一直向我显示白色边框.

我正在使用libgdx 1.0.0.

这是我的代码:

public class Teapot extends ApplicationAdapter {
    ModelBatch batch;
    ModelInstance m;
    Camera cam;
    CameraInputController camController;
    Environment environment;

    @Override
    public void create () {
        batch = new ModelBatch();

        environment = new Environment();
        environment.set(new ColorAttribute(ColorAttribute.AmbientLight, 0.4f, 0.4f, 0.4f, 1f));
        environment.add(new DirectionalLight().set(0.8f, 0.8f, 0.8f, -1f, -0.8f, -0.2f));


        cam = new PerspectiveCamera(67, Gdx.graphics.getWidth(), Gdx.graphics.getHeight());
        cam.position.set(0, 0, 5f);
        cam.lookAt(0,0,0);
        cam.position.add(0, 2, 0);
        cam.near = 1f;
        cam.far = 100f;
        cam.update();

        camController = new CameraInputController(cam);
        Gdx.input.setInputProcessor(camController);


        Model model = new ObjLoader().loadModel(Gdx.files.internal("teapot.obj"), true); …
Run Code Online (Sandbox Code Playgroud)

graphics rendering wireframe libgdx

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

我的世界3D图形使用什么库?

我知道Minecraft使用LWJGL库,但这是什么使它具有3D图形?

3d rendering lwjgl minecraft

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