草庐IT

custom_obj

全部标签

c++ - C/C++ 的轻量级 OBJ 网格文件加载器?

关闭。这个问题不符合StackOverflowguidelines.它目前不接受答案。我们不允许提问寻求书籍、工具、软件库等的推荐。您可以编辑问题,以便用事实和引用来回答。关闭2个月前。Improvethisquestion我正在寻找用于C或C++的简单轻量级WavefrontOBJ网格文件读取器。(即给定一个OBJ格式的网格,从文件中读取它,并使其可访问,最好是作为顶点和三角形的列表。)建议?它不需要支持Material属性或任何其他可能存在的花哨数据-只需几何形状即可。

c++ - .obj 解析器 + 渲染 GLUT

所以我有一个小的.obj解析器,可以解析顶点并将其绘制在屏幕上:voidloadObj(char*fname){FILE*fp;intread;GLfloatx,y,z;charch;_model=glGenLists(1);fp=fopen(fname,"r");if(!fp){printf("can'topenfile%s\n",fname);exit(1);}glPointSize(2.0);glNewList(_model,GL_COMPILE);{glPushMatrix();glBegin(GL_POINTS);while(!(feof(fp))){read=fscanf(

c++ - VisualStudio *.obj 文件大小(513Mb objs 和 534Mb lib)

我是一名C++开发人员,使用的是VisualStudio2008。如何减小*.obj文件的大小?我读过whyaremyvisualstudio.objfilesaremassiveinsizecomparedtotheoutput.exe?但没有找到答案。当我将项目构建为静态库时,所有*.obj文件的总大小为513Mb,生成的库为534Mb。每个obj文件为1-13Mb。调试exe文件为11Mb。链接时代码生成(/Gm)已关闭。提前致谢。 最佳答案 由于将大量重复代码和符号放入多个目标文件中,目标文件往往会变大。这通常是由内联函数和

c++ - .obj : fatal error LNK1107: invalid or corrupt file: cannot read at 0x6592

我正在尝试将.obj模型加载到我的C++opengl3代码中,但由于某种原因它给了我这个错误:1>正在链接...1>.\bunny.obj:fatalerrorLNK1107:无效或损坏的文件:无法在0x6592处读取我试图搜索类似的错误,但有关于.dll或.lib的错误。你能帮我解决这个问题吗?我也尝试过使用不同的obj模型,但它总是给我这个错误。 最佳答案 您正在尝试使用C++链接器加载您的对象模型(可能您刚刚将它添加到项目中,现在它正在尝试编译)。链接器可以处理.obj文件,但它等待它们成为“目标代码”文件(通常也有.obj扩

c++ - OpenGL - OBJ 中的顶点法线

我想知道如何使用顶点法线来实现闪电效果?目前我所拥有的是我可以将顶点和纹理坐标发送到着色器并使用它们但是对于法线,我不知道如何在着色器程序中使用它们。以下是我目前所拥有的。//vertexshaderlayout(location=0)invec4vert;layout(location=1)invec4color;layout(location=2)invec2texcoord;uniformmat4m_model;uniformmat4m_view;uniformmat4m_proj;voidmain(){gl_Position=m_proj*m_view*m_model*vert

c++ - header guard 难题 - 已经在 .obj 问题中定义

我有一个类(A),它必须包含两个文件,X类和Y类。不幸的是,Y类还需要在其头文件中包含X类,因为构造函数将指向X类类型的指针作为参数.潜在的问题是会出现链接器错误?因为A类现在有两个X类的拷贝,一个它需要使用,一个来自Y类。在这种情况下,headerguards是没有用的。我的问题是-这纯粹是结构性问题还是有解决办法?我真的宁愿不在类Y的头文件中包含任何内容,以防我想在其他任何内容中包含它,但由于函数原型(prototype),是否有必要这样做? 最佳答案 如果您有以下情况:X.h#ifndefX_H__#defineX_H__cl

c++ - 使用 C++ 解析 Wavefront .obj 文件

在尝试解析波前.obj文件时,我想到了两种方法:创建一个二维数组,其大小与顶点数相同。当一个面使用一个顶点时,从数组中获取它的坐标。获取顶点列表的起始位置,然后当面使用顶点时,扫描线直到到达顶点。IMO,选项1会非常占用内存,但速度要快得多。由于选项2涉及大量文件读取,(并且因为大多数对象中的顶点数量变得非常大)这会慢得多,但内存密集度较低。问题是:比较内存和速度之间的权衡,哪个选项更适合普通计算机?还有,有替代方法吗?我计划使用OpenGL和GLFW来渲染对象。 最佳答案 IMO,Option1willbeverymemoryin

c++ - Protocol Buffer : how nested (custom) optional fields are to be handled in C++?

读入ProtocolBufferBasics:C++,没有找到符合情况的东西:;以下.proto处理--cpp_out,messageA{requiredint32foo=1;}messageB{optionalAdata=1;}没有生成明显的访问器/setter来设置自定义可选字段(包括我懒得放在这里的“嵌套类型”部分)://accessors-------------------------------------------------------//optional.A=1;inlineboolhas_a()const;inlinevoidclear_a();staticcon

c++ - MSBuild:VS2010 中 native C++ 项目的 Custom.After.Microsoft.Common.targets

我读过“Custom.Before.Microsoft.Common.targets”和“Custom.After.Microsoft.Common.targets”的使用,以便在每个项目构建之前/之后执行自定义目标,我会喜欢在我们的TeamCity构建服务器上构建时使用此技术来更改版本信息。问题是,虽然它适用于C#项目,但它似乎不适用于nativeC++项目。在深入研究Microsoft.Cpp.targets文件后,我发现对于nativeC++项目,这似乎是通过设置$(ForceImportBeforeCppTargets)和$(ForceImportAfterCppTargets

c++ - 已经在 main.obj 中定义

这个问题不太可能帮助任何future的访问者;它只与一个小的地理区域、一个特定的时间点或一个非常狭窄的情况相关,这些情况并不普遍适用于互联网的全局受众。为了帮助使这个问题更广泛地适用,visitthehelpcenter.关闭10年前。这是解决我的问题的代码,我收到4个错误:student.obj:errorLNK2005:"structNode*admitedFirstNode"(?admitedFirstNode@@3PAUNode@@A)alreadydefinedinmain.objstudent.obj:errorLNK2005:"structNode*allFirstNod