问题标签 [tao-framework]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
108 浏览

c# - 如何在 C# 中将线程用于从未返回的函数

我是 C# 的新手,我想使用线程,因为在下面的代码中我想Glut.glutMainLoop();在 for 循环中调用函数,但这个函数永远不会返回并且它停止了。我想我可以使用线程。但我不知道该怎么做。或者有没有其他解决方案?任何帮助将非常感激。

0 投票
2 回答
2036 浏览

c# - 如何在 windows 窗体应用程序中集成 opengl 窗口

我在 c# 中使用 OpenGL 和 TaoFramework。我为 openGL 创建了一个不包括 windows 窗体的窗口,但我不知道如何将这个窗口集成到 windows 窗体中。

0 投票
2 回答
2198 浏览

c# - C# 中的动态/移动图绘制库/框架

在 C# 中绘制动态或移动图形(如 ECG 或动态变化的数据)会更好。我总结了两个使用 Open GL 的库框架

我应该选择哪一个,是否有一个专门的库(.netcharting 库)用于绘制支持 C# 中移动图的图形。

谢谢

0 投票
1 回答
714 浏览

c# - OpenGL 纹理映射扭曲图像

所以,我只是想为两个与视口大小相同的三角形绘制纹理,但它会破坏图像并使其扭曲,我尝试调整图像文件的大小和所有内容,但似乎没有任何效果。下面是映射纹理并绘制三角形的代码。

这是原始图像: 在此处输入图像描述

结果如下: 在此处输入图像描述

图像为 1920 x 1080,视口为 1280 x 720,但我不太确定这是否重要,因为我尝试调整图像大小但似乎没有任何效果。

0 投票
1 回答
661 浏览

c# - 过剩功能。使用一个 glut 函数导致一个程序掉线

我使用 Tao Framework 来学习 openGL。我包含了所有需要的库,包括 Tao.FreeGlut.dll。在执行阶段,程序在使用点 glut 函数终止。为什么会这样?编译时不会发生错误,程序只是关闭。

0 投票
0 回答
1049 浏览

opengl - 使用 Visual C# 在 Tao 框架中的文本

我正在使用 C# Windows 窗体中的 VS 2013 社区,我正在试用 Tao 框架。我的问题是我不能用它创建文本,它只是出现一个带有红十字的白色表面。谁能告诉我出了什么问题或我该如何处理?

这里是示例代码:

0 投票
1 回答
178 浏览

c# - Tao OpenGL C#选项卡不旋转

为什么我的 OpenGL 放在标签栏时不旋转?

我打开了选项卡,但是当我单击另一个选项卡并返回到 OpenGL 选项卡时,3D 对象会发生变化,但它不会旋转。

0 投票
1 回答
720 浏览

c# - OpenGL Fitting Viewer to Object(用 VB .NET 编写,但 C# 答案也可以)

背景

我正在尝试制作一个非常简单的 CAD 查看器。我选择从 .STL 文件开始,对于那些不知道的人来说,这些文件只是一堆三角形,然后将形成屏幕上的部分。从大多数 CAD 软件输出时,如果是 STL,则可以输出为文本文件版本。这列出了所有要点:

等等..然后我基本上可以遍历所有点并创建三角形:

问题

当我手动放入三角形时,我的方法似乎有效,但是如上所示,我找不到它们在哪里。我相信这是两个原因之一。要么我的世界对于指定的位置不够大,因为有些在 (X=3352, Y=-374, Z=852) 的范围内,当我开始查看 (X=0, Y=0, Z= 0),

如果这可能是问题,我怎么知道或改变我的世界的大小?

到目前为止,这是我用来设置我的世界的内容:

如果这似乎不是问题,那么可能是我没有正确地处理我的三角形?我目前使用翻译去找他们:

我使用接近我上面列出的坐标,并尝试缩放和平移但仍然找不到任何东西。

0 投票
3 回答
739 浏览

c# - Open GL Lighting Difficulties

Background

Currently I am esentially making a CAD viewer which will be used in a larger system. I have been reading a ton of information about learning Open GL and I am quite far along. I can import the file, display it, and navigate using keyboard controls. I am trying hard to understand and set up proper lighting now.

Problem

After some discussion bellow, I realize that I don't have a shader loaded which is why I am having my problems. In doing some research I have found some shader files, fragment.glsl and vertex.glsl which are written in C. Will this be a problem since I am writing my code in C#/ VB.net? I don't think so.

Now I am having a problem with compiling the shading, and linking the shaders to my code. I found a handy source for compiling:

http://pages.cpsc.ucalgary.ca/~brosz/wiki/pmwiki.php/CSharp/08022008

In this article, a function is created to compile a shader. The compiler requires a stream to which is then passed on to the compiler. I have this function I created to read the shader to a stream:

Towards the end of my draw function I try to load using the shader function:

I get an error message however that the shader could not be compiled. Any idea where I am going wrong?

Here is what my model looks like:

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

Looks decent but not great..

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

Looks terrible..

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

Just as bad..

Update

Since it was asked below, this is my method for doing the actual drawing of my triangles. The listview it is getting the information from is basically the STL file, which contains the normal vector and then three points which make a triangle.

My main drawing sub:

My draw_extra sub:

Here is what the STL file looks like:

enter image description here

It starts with the normal vector, then is followed by three points for the triangle, then another normal vector, and so forth. That is all my loop is doing.

Next Update

I tried changing the code for the light to be:

The X, Y, Z variables should match the camera since earlier in the code it translates the camera:

No light to be found:

enter image description here

Any guidance at all would be greatly appreaiciated. I tagged this as both C# and VB .NET since either answers would work for me.

0 投票
1 回答
958 浏览

c# - 始终在相机上打开 GL 定位照明

背景

我正在尝试制作一个 CAD 查看器,我可以将 STL 文件带入其中并简单地旋转、平移等。这不应该像游戏那样先进。

我在照明方面遇到了困难,这可以在以前的帖子中看到: 以前的帖子

问题

基本上我现在已经亮了,我在正确的地方有我的弹出和推送矩阵调用。我现在要做的就是优化我的照明,使其类似于 CAD 环境。如果我错了,请纠正我,但我相信观看零件的最佳照明总是让相机上的光指向物体的方向。如果这不是进行照明的最佳方式,请随时提出更好的方式。

我认为这主要归结为数学。我不知道是否有任何内置函数可以简单地获取相机的位置,或者您是否必须跟踪它。

这是我的显示功能:

基本上我有 lighting_x、lighting_y 和 lighting_z 作为变量来移动我的光。我有一个变量 X、Y 和 Z 来建立平移 (Gl.glTranslatef(X, Y, Z))。变量 rotx、roty 和 rotz 使用 Gl.glRotatef(rotX, 1.0F, 0.0F, 0.0F) 在主函数中设置旋转。

这些变量被应用于整个场景,这在 CAD 环境中是有意义的,因此我的轴也会移动。

最重要的是,我正在使用 gluLookAt 函数来创建“缩放以适应”函数。据我了解,我的显示功能中的功能移动和旋转我的环境,但 gluLookAt 正在移动我的相机。保持这些之间的关系必须是我的照明计算所需要的:

我不知道环境在最初运行时将相机相对于原点放置在哪里,但我认为这也需要考虑在内。

到目前为止我能看到的:

茶壶的光面:

在此处输入图像描述

月之暗面(茶壶):

在此处输入图像描述

所有代码都是用 VB.NET 编写的,但 C# 答案也可以。