小编Hyd*_*ium的帖子

如何在保持纹理坐标正确的同时使用glDrawElements?

我正在使用/目标OpenGL 4.20,GSLSL 4.20,核心.使用C.

我正在使用OpenGL探索图形,并决定制作基于图块的游戏.我正在想要实际绘制一堆瓷砖,我正在尝试使用glDrawElements绘制单个三角形.

相关代码:

const float vertexPositions[] = {
  -1.0f, -0.8f, //0
  -0.8f, -0.8f, //1
  -0.6f, -0.8f, //2
  -0.4f, -0.8f, //3
  -0.2f, -0.8f, //4
   0.0f, -0.8f, //5

  -1.0f, -1.0f, //6
  -0.8f, -1.0f, //7
  -0.6f, -1.0f, //8
  -0.4f, -1.0f, //9
  -0.2f, -1.0f, //10
   0.0f, -1.0f, //11

//The following are the texture coordinates.
  0.00f, 1.00f,
  1.00f, 1.00f,
  0.00f, 1.00f,
  1.00f, 1.00f,
  0.00f, 1.00f,
  1.00f, 1.00f,

  0.00f, 0.00f,
  1.00f, 0.00f,
  0.00f, 0.00f,
  1.00f, 0.00f,
  0.00f, 0.00f,
  1.00f, 0.00f,
};

const GLubyte indices[] …
Run Code Online (Sandbox Code Playgroud)

c opengl textures

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

为什么在XAML中绑定MainWindow datacontext失败的行为与使用this.datacontext = this的代码隐藏中的绑定相同?

我正在尝试使用Data绑定将ObservableCollection绑定到DataGrid的ItemsSource,因为我了解了WPF和其他内容.

在代码隐藏中,我可以使用this.DataContext = this;或设置DataContext bloopDataGrid.DataContext = this;.这很好,花花公子.

我以为我可以尝试类似的东西

<Window.DataContext>
    <local:MainWindow/>
</Window.DataContext>
Run Code Online (Sandbox Code Playgroud)

在我的主窗口中,但这会导致Stack Overflow异常,如本问题中所述.很好,这是有道理的.

在阅读了这个以及DataContext="{Binding RelativeSource={RelativeSource Self}}"在窗口的XAML代码中尝试的其他问题/答案之后,我想我实际上可以做到这一点.显然我做不到.或者至少,IDE让我和它的语法正确,但不做我想要的(即,究竟是什么this.DataContext = this;).

然后我读到了关于使用的内容,"{Binding ElementName=, Path=}"并试图像这样使用它:

<DataGrid
    Name="bloopDataGrid"
    Grid.Row="1"
    ItemsSource="{Binding ElementName=testWin, Path=OutputCollection}">
</DataGrid>
Run Code Online (Sandbox Code Playgroud)

哪个也行不通.也许不是出于同样的原因,但我无法弄清楚它的问题.

奇怪的是,我无法复制Rachel Lim博客文章中显示的重新绑定示例.

XAML:

<Window
    x:Class="DataBinding.MainWindow"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    Title="MainWindow"
    Height="350"
    Width="525"
    x:Name="testWin">
    <Grid>
        <Grid.RowDefinitions>
            <RowDefinition />
            <RowDefinition />
        </Grid.RowDefinitions>

        <Label Grid.Row="0" Content="{Binding text}">   
        </Label>

        <DataGrid
            Name="bloopDataGrid"
            Grid.Row="1"
            ItemsSource="{Binding Path=OutputCollection}"> …
Run Code Online (Sandbox Code Playgroud)

c# data-binding wpf xaml

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

为什么"签署ClickOnce清单"复选框保持默认以检查构建?

与签名密切相关的ClickOnce清单复选框保持默认在发布时检查.这个问题中列出的答案都没有帮助我.

我的解决方案中有两个项目,以及其他参考项目.一个项目是C#Windows Presentation Foundation (WPF)(输出类型Windows应用程序),当我取消选中"签署ClickOnce清单"时,它在构建后仍未选中.

第二个项目,也是启动项目,是一个Visual Studio Tools for Office (VSTO)项目(输出类型默认为类库,不能更改).当我取消选中"在其中签署ClickOnce清单"然后构建解决方案(或只是项目)时,在整个构建过程完成后再次检查该选项.

我不熟悉.csproj文件中的XML数据,但我发现了一些可能相关的内容:

1.

在VSTO项目的.csproj文件中,有一个注释部分指出:

This section enables pre- and post-build steps. However, in VSTO use
MSBuild tasks instead of these properties.       
Run Code Online (Sandbox Code Playgroud)

的部分定义<SignManifests>,<SignAssembly>和<ManifestCertificateThumbprint>.前两个是假的.第二个有一些独特的关键.

2.

在找到关于MSBuild任务的评论后,我后来发现:

<!-- Include additional build rules for an Office application add-in. -->
  <Import Project="$(MSBuildExtensionsPath)\Microsoft\VisualStudio\v10.0\OfficeTools\Microsoft.VisualStudio.Tools.Office.targets" />
Run Code Online (Sandbox Code Playgroud)

这是一个非常大的文件,有多个引用签名等."签名"选项保持未选中状态的项目在.csproj文件中没有此<Import Project>行.

问题

现在,我还没有充分意识到.targets文件的全部内容,并且我不愿意去寻找解决方案直到我知道自己在追求什么.这个文件可能是我的问题的原因吗?如果是这样,我如何修改它以阻止它妨碍我?如果没有,有没有人遇到过此之前可以提供解决方案?

编辑:

我刚刚阅读了如何不签署ClickOnce清单,再次谈论发布.如果我可以将它从我的版本中删除,我仍然很好奇.我在发布它时对签名应用程序没有任何疑虑,但我更愿意在没有默认发生的情况下构建它.

c# msbuild clickonce vsto

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

为什么我找不到签署ClickOnce清单的证书?

我不得不在我之前为一个项目工作的人所做的应用程序中进行一些更改.我向他询问了消息来源,他把它们交给了我.问题是,当我尝试构建(甚至在进行任何更改之前)时,我收到以下错误:

"错误1无法在证书库中找到清单签名证书."

在此输入图像描述

我该怎么做才能解决这个错误?

c# manifest visual-studio

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

为什么这个GLSL代码编译和链接,即使它有语法错误?

我有一个有意语法错误的GLSL片段着色器.

void main()
{
    // vec4 is ommitted
    gl_FragColor = (1,1,0,1);
} 
Run Code Online (Sandbox Code Playgroud)

但我仍然可以编译和链接它没有错误.运行我的应用程序后,我在屏幕上看不到任何内容 这是一种奇怪的行为还是其他什么?

opengl glsl

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

这两种方法中哪一种是为静态数组提供维度的正确方法?

这两种形式的数组声明是否正确?

第一:

int n;
n=3;
int A[n];
Run Code Online (Sandbox Code Playgroud)

第二:

#define N 300;
.
.
.
.
int a[N];
Run Code Online (Sandbox Code Playgroud)

对我来说,这两种方式完全有效,但有人告诉我,第一种方式是错误的.

第一个就是说:

int A[10];
Run Code Online (Sandbox Code Playgroud)

所以,对我来说,说第一个无效是没有多大意义的.

但要完全确定,我想在这里问一下.它只是关于编程风格还是第一个不是正确的方式?

谢谢.

c arrays dimension variable-length-array

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