草庐IT

direct-buffer

全部标签

c++ - 当非限定名称查找涉及 using-directives 时 [basic.scope.hiding]p2 的解释

在c++中有两种隐藏的名字:1)普通名称隐藏:[basic.scope.hiding]p1(http://eel.is/c++draft/basic.scope.hiding#1):Anamecanbehiddenbyanexplicitdeclarationofthatsamenameinanesteddeclarativeregionorderivedclass([class.member.lookup]).2)隐藏在[basic.scope.hiding]p2(http://eel.is/c++draft/basic.scope.hiding#2)中的特殊名称类型:Aclassn

c++ - 从 C++ 中的 Protocol Buffer 获取所有字段名称?

有没有办法在C++中使用其描述符获取protobuff消息的所有字段?在Python中有一种方法可以做到这一点:Gettingallfieldnamesfromaprotocolbuffer?只是想知道C++中是否有相同的东西。试图在descriptor.h上找到任何东西,但没有成功。 最佳答案 是的。如果你有Descriptor,您可以使用Descriptor::field_count()获取字段数。然后,您使用Descriptor::field(intindex)遍历字段,返回FieldDescriptor,您可以在其中使用Fi

c++ - OBJ、Buffer 对象和面索引

我最近在让顶点缓冲区对象工作方面取得了很大进展。所以我转向了元素数组,我想通过这样的实现我可以从一个对象加载顶点和面数据。我不太擅长用C++读取文件,所以我写了一个python文档来解析obj并写了2个单独的txts来给我一个顶点数组和面索引,并将它们直接粘贴到我的代码中。这就像6000行,但它可以工作(没有编译错误)。这是它的样子.我认为他们错了。我不确定。顶点和面的顺序并没有改变,只是从obj中提取出来,因为我还没有适用于缓冲区对象的法线或纹理。如果你看一下立方体,我有点喜欢,但不是真的。这是rendercodevoidMesh_handle::DrawTri(){glBindBu

c++ - 使用 QueryInterface 方法的目的是什么? (Direct3D)

我明白QueryInterface是什么方法实际上是这样做的——它只返回一个指向特定接口(interface)的指针。但我的问题是,我为什么要使用这种方法?我的意思是,有什么区别QueryInterface(__uuidof(IDXGIResource),(void**)&Resource)和IDXGIResource*资源这些不是很相似吗?如果是这样,为什么我什至需要使用该方法?我应该出于什么原因使用它? 最佳答案 COM假定单个对象将提供多个接口(interface),即接口(interface)将是细粒度的,您将希望一次使用多

c++ - Protocol Buffer 问题,多个序列化为二进制文件

我从protobuf二进制文件io中得到了一些奇怪的行为。我正在将文本语料库预处理为protobuf中间文件。我的序列化类如下所示:classpb_session_printer{public:pb_session_printer(std::string&filename):out(filename.c_str(),std::fstream::out|std::fstream::trunc|std::fstream|binary){}voidprint_batch(std::vector&pb_sv){boost::lock_guardlock(m);BOOST_FOREACH(ses

Direct3D中支持这种纹理的方式吗?

目前,我试图以以下方式以编程方式创建纹理:我有一个1尺寸的十六进制阵列:chararray={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f}我想使用碎片这构成了此数组,因为f=1111和7=0111在二进制中等等。从视觉上看,看起来像这样:1111111011111101111110111111011111101111110111111011111101111111本质上,数组的每个元素都代表一行,构成字符之一的八个位中的每个元素都代表元素。0将代表没有填充和1用于“填充”。然后,我会根据某些外部机制将颜色涂上颜色。我在msdn上找到了这个dxgi_forma

c++ - 如何在 Protocol Buffer 中设置嵌套消息的字段?

我有一个如下所示的原型(prototype)文件:messageterminal_data{requiredint32type=1;//1-->trade2-->ordermessagetrade_data{optionalstringclient_id=1;optionalstringstrat_id=2;optionalstringsymbol_name=3;optionalint64trade_id=4;optionalstringexpiry=5;optionalint64quantity=6;optionalstringtime=7;}messageorder_data{op

c++ - 无法在结构中包含 circular_buffer

我是cpp的新手。我想把“boost::circular_bufferhistpos(5);”用5个空格将5个元素存储在cpp结构中作为成员。我试试这个:typedefstructhistposRecorder{int32_ttrack_id;boost::circular_bufferhistpos(5);}coRecord;我得到这个错误:error:expectedidentifierbeforenumericconstantboost::circular_bufferhistpos(5);error:expected‘,’or‘...’beforenumericconstant

c++ - Protocol Buffer 如何支持标准容器的序列化/反序列化?

我们计划用分布式系统设计中使用的ProtocolBuffer替换Boost.serialization。ProtocolBuffer如何支持复杂的数据结构,例如标准容器?例如,在我们的例子中需要对这样的类进行序列化/反序列化:classFoo{std::vector>>>data;}; 最佳答案 ProtocolBuffer使用了一个解析器,它接受一个.proto文件并创建适当的序列化例程。参见this.更新:您可以将字符串vector表示为:messageMyCollection{repeatedstringstr=1;}在你的原

c++ - 使用 mingw 在 Linux 上交叉编译 Direct3D

如何配置mingw32以交叉编译适用于Windows的Direct3D应用程序?有没有可能?我实际上已经成功地编译了本教程中的代码:http://www.directxtutorial.com/Tutorial9/B-Direct3DBasics/dx9B4.aspx-在Kubuntu上使用Code::Blocks和i586-mingw32msvc-g++。我需要添加#defineUNICODE并删除#pragma...部分来执行此操作,并且我使用了/usr/i586-mingw32msvc/include和libs中的头文件也来自mingw包。但是我无法编译本教程中的代码:http: