问题列表 - 第42974页

基本的openGL,顶点缓冲区和pyglet

编辑:rotoglup在我的代码中发现了问题,添加了我删除的着色器完成了解决方案.请参阅下面的答案以获取正确的代码(使用着色器).

大家好 !

我正在尝试从本教程中学习一些现代OpenGL的基础知识.

我想用python/pyglet而不是C++来做.我知道pyglet可以抽取大部分低级OpenGL; 我想先了解一些基础知识,然后再将它们隐藏在抽象层之后.

我的问题非常简单:下面的代码只绘制一个点而不是我期望的3个点.据我所知,我的代码与教程中的C++相同,除了删除顶点和片段着色器(通过python中的gletools完成),这似乎对我的问题没有任何影响.

将事物简化为单点显示我不理解的行为(第一个坐标似乎是唯一影响任何事物的坐标),这让我回想起我完全不理解pyglet,OpenGL,或者甚至是一般的3D:p

这是相关的代码:

import pyglet
from pyglet.gl import *

window = pyglet.window.Window()

positionBufferObject = GLuint()
vao = GLuint()

vertexPositions = [0.0, 0.0, 0.0,
                   0.25, 0.0, 0.0,
                   1.75, 1.75, 0.0]

vertexPositionsGl = (GLfloat * len(vertexPositions))(*vertexPositions)

@window.event
def on_draw():
    glBindBuffer(GL_ARRAY_BUFFER, positionBufferObject)
    glEnableVertexAttribArray(0)
    glVertexAttribPointer(0, 3, GL_FLOAT, GL_FALSE, 0, 0)
    glDrawArrays(GL_POINTS, 0, 3)
    glDisableVertexAttribArray(0)

glGenBuffers(1, positionBufferObject)
glBindBuffer(GL_ARRAY_BUFFER, positionBufferObject)
glBufferData(GL_ARRAY_BUFFER, len(vertexPositionsGl)*4, vertexPositionsGl, GL_STATIC_DRAW)
glBindBuffer(GL_ARRAY_BUFFER, 0)

glClearColor(0.0, 0.0, 0.0, 0.0)
pyglet.app.run()
Run Code Online (Sandbox Code Playgroud)

python opengl pyglet

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

使用jQuery进行表操作

我正在使用DataTables 显示我已经进入的一些XML数据,但我正在寻找一种稍微不同的方法.我想在每列上都有搜索框,理想情况下用搜索结果中的值填充它们.所以我们在页面上方的"搜索"框中不会显示一个带有值的框(Say,for Rending)引擎:组合框中的Trident,WebKit,Gecko等).我可以更改DataTables jQuery以允许这样做,还是应该从头开始.这似乎令人生畏,但我仍然是jQuery的新手.任何回复都非常感谢.提前致谢.

编辑:感谢您的回复.我正在使用带有组合框的数据表作为predrag建议,其中填充了列中的所有值(不仅仅是显示页面上的值),但是当我选择一个值时,它似乎没有触发重新加载网格的事件.这是我在页面上的jQuery代码:

<script type="text/javascript">
    $(document).ready(function() {


    <!-- Sorting and pagination -->
    var oTable = $('#mainTable').dataTable( {
      "bJQueryUI": true,
      "sPaginationType": "full_numbers",
      "bFilter": false
    });

    <!-- Filtering -->
    $("thead td").each(function(i) {
      this.innerHTML = fnCreateSelect(oTable.fnGetColumnData(i));
      $('select', this).change(function() {
        oTable.fnFilter($(this).val(), i);
      });
    });
  });
</script>
Run Code Online (Sandbox Code Playgroud)

另外,我已将这些函数添加到jquery.dataTables.js的底部,如下所示:http://datatables.net/examples/api/multi_filter_select.html

(function ($) {
/*
* Function: fnGetColumnData
* Purpose:  Return an array of table values from a particular column.
* Returns:  array string: 1d data array 
* Inputs:   object:oSettings - dataTable settings …
Run Code Online (Sandbox Code Playgroud)

html search jquery datatables

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

Android - 两个onClick监听器和一个按钮

我有一个可点击的自定义TextView.它定义了自己的onClick处理程序,以便根据点击次数更改其外观.但是,如果我在我的活动中定义第二个onClick处理程序,以便根据被单击的按钮执行某些操作,则只调用其中一个onClick函数.onClick是一个void函数 - 有没有办法说我没有处理这个点击,请把它传递给其他onClick处理程序?

这里要更清楚的是代码:

在扩展TextView的MyCheckButton里面我有:

    setOnClickListener( mClickListener );

    private OnClickListener mClickListener = new OnClickListener() {
        public void onClick(View v) {
            toggle();
        }
    };
Run Code Online (Sandbox Code Playgroud)

但是我将MyCheckButton包含到我的Activity中,当然我需要在点击它时做一些事情,所以我将另一个OnClickListener附加到它:

MyCheckButton button= (MyCheckButtonButton) findViewById(R.id.cb);
button.setOnClickListener(new OnClickListener(){
    @Override
    public void onClick(View v) {
        // do something in the app
    }

});
Run Code Online (Sandbox Code Playgroud)

通过调用setOnClickListener两次,看起来我正在替换原始侦听器,因此更改外观的toggle()永远不会被调用.如果单击此按钮已经使用onClick处理程序更改其外观,如何在我的活动中执行某些操作?我以为我只会看到两个OnClickListeners被调用.

android event-bubbling

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

Java中的"......"是什么意思?

可能重复:
Java数组参数"声明"语法

我已经看到...在java中的对象类型和对象名称之间使用.我认为它代表了对象的集合.请注意以下示例:

public setMembers(Member... members);
Map map = ...;
Run Code Online (Sandbox Code Playgroud)

我的问题是"......"的真正含义是什么?我从来没有在他们解释过的任何文档中看到过这个.

java

12
推荐指数
0
解决办法
3081
查看次数

如何在iOS 4.2中将视频导入iPhone模拟器相机胶卷?

我已经尝试过这里这里描述的解决方案,即将QuickTime电影复制到~/Library/Application Support/iPhone Simulator/User/Media/DCIM/100APPLE/VID_0001.m4v,但这似乎没有做任何事情,而且我猜测自iOS 3.2以来发生了一些变化,使其无效.

请注意,我非常喜欢不涉及向我的应用程序添加代码的解决方案,除非这确实是唯一的方法.

ETA:我知道可以将视频文件作为资源包含在内; 我想要的是将视频文件添加到相机胶卷 - 可以通过(例如)保存Safari中的图像来完成照片 - 这样我就可以测试涉及挑选媒体文件的功能.

再次更新:如果有人可以明确地告诉我,通过参考,这也是不可能的,这也会有所帮助.

iphone ios-4.2 ios-simulator

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

在MVC2中显示图像blob

我正在尝试(没有成功)从服务中获取blob图像并将其显示为html中的图像.

我的HTML是:

<img src="<%: Url.Action("GetPersonImage", new { pid = Model.PersonId }) %>" alt="" />
Run Code Online (Sandbox Code Playgroud)

女巫在Sourceas中表现出来

<img src="/demo4/ABook/GetPersonImage/?pid=210092" alt="">
Run Code Online (Sandbox Code Playgroud)

我的行动是:

    public void GetPersonImage(int pid)
    {
        string src = so.GetPersonImage(pid);
        byte[] bytes = System.Text.Encoding.UTF8.GetBytes(src);

        Response.Clear();
        Response.AddHeader("Content-Length", src.Length.ToString());
        Response.ContentType = "image/gif";
        Response.BufferOutput = false;
        Response.BinaryWrite(bytes);
        Response.End();
    }
Run Code Online (Sandbox Code Playgroud)

如果我访问,这在页面中没有显示任何内容

http://localhost:60556/demo4/ABook/GetPersonImage/?pid=210092

我甚至尝试过 FileStreamResult

    public FileStreamResult GetPersonImage(int pid)
    {
        string src = so.GetPersonImage(pid);

        Response.Clear();
        Response.Expires = 0;
        Response.AddHeader("Content-Length", src.Length.ToString());
        Response.BufferOutput = false;

        return new FileStreamResult(
                        new System.IO.MemoryStream(
                            System.Text.Encoding.UTF8.GetBytes(src)), "image/gif");
    }
Run Code Online (Sandbox Code Playgroud)

仍然没有:(

src变量包含 …

c# asp.net-mvc blob asp.net-mvc-2

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

什么是ResolveAssemblyReference.cache?

我想弄清楚这个文件是什么(或者更确切地说,这些文件是).

我发现了一些提到它的网页,但问题的答案总是像"这个文件不是你的问题" - 没有描述文件是什么.我也没有在MSDN上看到过明显的页面.

文件本身非常大,而不是纯文本(尽管它们有很多文本).我猜它只是在编译期间使用的东西,虽然修改日期比我的任何目标文件都要旧.这与*.pdb文件或调试有关吗?

.net c# resolveassemblyreference

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

强制sharepoint请求身份验证

有没有办法强制sharepoint 2010弹出对话框,询问用户用户名和密码,如果该用户没有访问权限,则不使用登录用户的计算机.

我们需要一个内部sharepoint网站不使用Windows凭据,因为这些是许多人使用的计算机.Windows用户无权访问该站点,因此目前显示拒绝访问,单击此处以另一个用户身份登录.如果它只是以更优雅的方式要求凭证,我们更愿意.

sharepoint sharepoint-2010

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

共享/静态变量应该是什么,但不是 - 什么给出?

我有以下代码:

Public Class TestClass
    Public Sub Main()
        If theGlobal IsNot Nothing Then Throw New Exception("What gives!")
    End Sub

    Private Shared theGlobal As Object = Nothing
    Private Shared ReadOnly Property Global
        Get
            If theGlobal Is Nothing Then
                theGlobal = New Object()
            End If

            Return theGlobal 
        End Get
    End Property
End Class
Run Code Online (Sandbox Code Playgroud)

难倒......为什么全球对象不是什么?

.net c# vb.net

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

如何使用C在同一函数中获取不同类型的大小?

我正在编写一个函数,它增加了使用malloc创建的动态内存对象的大小.该函数应该作为参数获取指向要增加的内存块的指针,块的当前大小以及块将增加的量.

像这样的东西:

int getMoreSpace(void **pnt, int size, int add) {
    xxxxxx *tmp; /* a pointer to the same as pnt */
    if (tmp = realloc(pnt, (size+add)*sizeof(xxxxxx))) { /* get size of what pnt points to */
        *pnt=tmp;
        return 1;
    else return 0;
}
Run Code Online (Sandbox Code Playgroud)

问题是,无论pnt指向什么,我都希望函数能够工作.我如何实现这一目标?

c dynamic-memory-allocation

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