小编Cal*_*lie的帖子

错误C2146:语法错误:缺少';' 在标识符'ContextRecord'之前

我有一个头文件,其中包含所有类的函数,包括代码,因此该类没有cpp文件.一切顺利.我添加了cpp文件并将功能代码移到了那里,现在我在编译时遇到了这个错误.我在((x86)\ microsoft sdks\windows\v7.0a\include\winnt.h(6361))中获取错误的标题甚至不包含在即时更改的文件中.有谁知道这可能是什么原因?我可以提供代码我只是不知道什么是有用的.

cpp文件:

#include "Fisherman.h"

void Fisherman::Initialise(){

memset((void*)&mListener, 0, sizeof(X3DAUDIO_LISTENER));
memset((void*)&mEmitter, 0, sizeof(X3DAUDIO_EMITTER));
memset((void*)&mDSPSettings, 0, sizeof(X3DAUDIO_DSP_SETTINGS));

XAUDIO2_VOICE_DETAILS details;
mCastSplash->GetSourceVoice()->GetVoiceDetails(&details);       
mEmitter.ChannelCount = details.InputChannels; 
mEmitter.CurveDistanceScaler = 1.0f;
X3DAUDIO_VECTOR emitterPos = { 0.0f, 0.0f, 0.0f}; 
mEmitter.Position = emitterPos;
X3DAUDIO_VECTOR emitterVel = { 0.0f, 0.0f, 0.0f }; 
mEmitter.Velocity = emitterVel;

mDSPSettings.SrcChannelCount = mEmitter.ChannelCount; 
mDSPSettings.DstChannelCount = mXACore->GetChannelCount();

FLOAT32 * matrix = new FLOAT32[mDSPSettings.SrcChannelCount * mDSPSettings.DstChannelCount];

mDSPSettings.pMatrixCoefficients = matrix;

X3DAUDIO_VECTOR front = { 0.0f, 0.0f, 1.0f }; 
X3DAUDIO_VECTOR top = { 0.0f, 1.0f, 0.0f }; …
Run Code Online (Sandbox Code Playgroud)

c++ header xaudio2

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

粒子沉积地形生成

我正在使用粒子沉积来尝试在程序上创造一些类似火山的山脉,但我所能摆脱的只是金字塔状的结构.是否有人熟悉该算法可能能够揭示我可能做错的事情.我现在正在将每个粒子放在同一个地方.如果我不这样做,它们会分散在非常薄的一层,而不是任何一种山.

void TerrainClass::ParticalDeposition(int loops){
float height = 0.0;




//for(int k= 0; k <10; k++){

    int dropX = mCurrentX = rand()%(m_terrainWidth-80) + 40;
    int dropY = mCurrentZ = rand()%(m_terrainHeight-80) + 40;
    int radius = 15;
    float angle = 0;
    int tempthing = 0;
    loops = 360;

    for(int i = 0; i < loops; i++){



        mCurrentX = dropX + radius * cos(angle);
        mCurrentZ = dropY + radius * sin(angle);

        /*f(i%loops/5 == 0){
            dropX -= radius * cos(angle);
            dropY += radius * sin(angle); …
Run Code Online (Sandbox Code Playgroud)

c++ procedural-generation terrain

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

多个纹理单元 GLES 2.0 Android

尝试让 2 个纹理单元工作。

@Override
public void onDrawFrame(GL10 gl) {
    //Clear the Rendering Surface
    glClear(GL_COLOR_BUFFER_BIT);

    multiplyMM(viewProjectionMatrix, 0, projectionMatrix, 0, viewMatrix, 0);

    positionTableInScene();
    textureProgram.useProgram();
    textureProgram.setUniforms(modelViewProjectionMatrix, texture_b, texture_r);
    table.bindData(textureProgram);
    table.draw();
    ...
}
Run Code Online (Sandbox Code Playgroud)

纹理程序:

public class TextureShaderProgram extends ShaderProgram {
//Uniform locations
private final int uMatrixLocation;
private final int uTextureUnit0Location;
private final int uTextureUnit1Location;

//Attribute locations
private final int aPositionLocation;
private final int aTextureCoordinatesLocation;

public TextureShaderProgram(Context context){
    super(context, R.raw.texture_vertex_shader, R.raw.texture_fragment_shader);

    //Retrieve uniform locations for the shader program.
    uMatrixLocation = glGetUniformLocation(program, U_MATRIX);
    uTextureUnit0Location = glGetUniformLocation(program, …
Run Code Online (Sandbox Code Playgroud)

android opengl-es opengl-es-2.0

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