Added more files to CMakeLists.

Replaced KRHitInfo references with hitinfo.
Updated AudioUnitSampleType to always use floats as the Canonical types have been deprecated.  Int audio types no longer needed for ios.
This commit is contained in:
2017-11-05 19:14:29 -08:00
parent f8e11fc724
commit 7e38a4c311
13 changed files with 73 additions and 100 deletions

View File

@@ -96,7 +96,7 @@
E4159B8419C5760800622D1E /* KRDataBlock.h in Headers */ = {isa = PBXBuildFile; fileRef = E46F4A0A155E002100CCF8B8 /* KRDataBlock.h */; settings = {ATTRIBUTES = (Public, ); }; };
E4159B8519C5760800622D1E /* KREngine-common.h in Headers */ = {isa = PBXBuildFile; fileRef = E46DBE841512B9E200D59F86 /* KREngine-common.h */; settings = {ATTRIBUTES = (Public, ); }; };
E4159B8619C5760800622D1E /* KREngine.h in Headers */ = {isa = PBXBuildFile; fileRef = E491017213C99BDC0098455B /* KREngine.h */; settings = {ATTRIBUTES = (Public, ); }; };
E4159B8719C5760800622D1E /* KRHitInfo.h in Headers */ = {isa = PBXBuildFile; fileRef = E4C454B7167BD235003586CD /* KRHitInfo.h */; settings = {ATTRIBUTES = (Public, ); }; };
E4159B8719C5760800622D1E /* HitInfo.h in Headers */ = {isa = PBXBuildFile; fileRef = E4C454B7167BD235003586CD /* HitInfo.h */; settings = {ATTRIBUTES = (Public, ); }; };
E4159B8819C5760800622D1E /* KROctree.h in Headers */ = {isa = PBXBuildFile; fileRef = E4924C2515EE95E800B965C6 /* KROctree.h */; settings = {ATTRIBUTES = (Public, ); }; };
E4159B8919C5760800622D1E /* KROctreeNode.h in Headers */ = {isa = PBXBuildFile; fileRef = E4924C2A15EE96AA00B965C6 /* KROctreeNode.h */; settings = {ATTRIBUTES = (Public, ); }; };
E4159B8A19C5760900622D1E /* KRRenderSettings.h in Headers */ = {isa = PBXBuildFile; fileRef = E44F38231683B22C00399B5D /* KRRenderSettings.h */; settings = {ATTRIBUTES = (Public, ); }; };
@@ -170,7 +170,7 @@
E4159BCE19C5762F00622D1E /* KRContextObject.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E43B0AD415DDCA0C00A5CB9F /* KRContextObject.cpp */; };
E4159BCF19C5762F00622D1E /* KRDataBlock.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E46F4A0D155E003000CCF8B8 /* KRDataBlock.cpp */; };
E4159BD019C5762F00622D1E /* KREngine.mm in Sources */ = {isa = PBXBuildFile; fileRef = E491016F13C99BDC0098455B /* KREngine.mm */; };
E4159BD119C5762F00622D1E /* KRHitInfo.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E4C454BA167BD248003586CD /* KRHitInfo.cpp */; };
E4159BD119C5762F00622D1E /* HitInfo.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E4C454BA167BD248003586CD /* HitInfo.cpp */; };
E4159BD219C5762F00622D1E /* KROctree.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E4924C2415EE95E700B965C6 /* KROctree.cpp */; };
E4159BD319C5762F00622D1E /* KROctreeNode.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E4924C2915EE96AA00B965C6 /* KROctreeNode.cpp */; };
E4159BD419C5762F00622D1E /* KRRenderSettings.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E44F38271683B24400399B5D /* KRRenderSettings.cpp */; };
@@ -251,7 +251,7 @@
E423D6D11BEDEE2D0021812E /* KRContextObject.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E43B0AD415DDCA0C00A5CB9F /* KRContextObject.cpp */; };
E423D6D21BEDEE2D0021812E /* KRDataBlock.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E46F4A0D155E003000CCF8B8 /* KRDataBlock.cpp */; };
E423D6D31BEDEE2D0021812E /* KREngine.mm in Sources */ = {isa = PBXBuildFile; fileRef = E491016F13C99BDC0098455B /* KREngine.mm */; };
E423D6D41BEDEE2D0021812E /* KRHitInfo.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E4C454BA167BD248003586CD /* KRHitInfo.cpp */; };
E423D6D41BEDEE2D0021812E /* HitInfo.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E4C454BA167BD248003586CD /* HitInfo.cpp */; };
E423D6D51BEDEE2D0021812E /* KROctree.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E4924C2415EE95E700B965C6 /* KROctree.cpp */; };
E423D6D61BEDEE2D0021812E /* KROctreeNode.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E4924C2915EE96AA00B965C6 /* KROctreeNode.cpp */; };
E423D6D71BEDEE2D0021812E /* KRRenderSettings.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E44F38271683B24400399B5D /* KRRenderSettings.cpp */; };
@@ -330,7 +330,7 @@
E423D7231BEDEE2D0021812E /* KRDataBlock.h in Headers */ = {isa = PBXBuildFile; fileRef = E46F4A0A155E002100CCF8B8 /* KRDataBlock.h */; settings = {ATTRIBUTES = (Public, ); }; };
E423D7241BEDEE2D0021812E /* KREngine-common.h in Headers */ = {isa = PBXBuildFile; fileRef = E46DBE841512B9E200D59F86 /* KREngine-common.h */; settings = {ATTRIBUTES = (Public, ); }; };
E423D7251BEDEE2D0021812E /* KREngine.h in Headers */ = {isa = PBXBuildFile; fileRef = E491017213C99BDC0098455B /* KREngine.h */; settings = {ATTRIBUTES = (Public, ); }; };
E423D7261BEDEE2D0021812E /* KRHitInfo.h in Headers */ = {isa = PBXBuildFile; fileRef = E4C454B7167BD235003586CD /* KRHitInfo.h */; settings = {ATTRIBUTES = (Public, ); }; };
E423D7261BEDEE2D0021812E /* HitInfo.h in Headers */ = {isa = PBXBuildFile; fileRef = E4C454B7167BD235003586CD /* HitInfo.h */; settings = {ATTRIBUTES = (Public, ); }; };
E423D7271BEDEE2D0021812E /* KROctree.h in Headers */ = {isa = PBXBuildFile; fileRef = E4924C2515EE95E800B965C6 /* KROctree.h */; settings = {ATTRIBUTES = (Public, ); }; };
E423D7281BEDEE2D0021812E /* KROctreeNode.h in Headers */ = {isa = PBXBuildFile; fileRef = E4924C2A15EE96AA00B965C6 /* KROctreeNode.h */; settings = {ATTRIBUTES = (Public, ); }; };
E423D7291BEDEE2D0021812E /* KRRenderSettings.h in Headers */ = {isa = PBXBuildFile; fileRef = E44F38231683B22C00399B5D /* KRRenderSettings.h */; settings = {ATTRIBUTES = (Public, ); }; };
@@ -516,8 +516,8 @@
E4C454B0167BB8FC003586CD /* KRMeshCube.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E4C454AE167BB8FC003586CD /* KRMeshCube.cpp */; };
E4C454B3167BC04C003586CD /* KRMeshSphere.h in Headers */ = {isa = PBXBuildFile; fileRef = E4C454B1167BC04B003586CD /* KRMeshSphere.h */; settings = {ATTRIBUTES = (Public, ); }; };
E4C454B6167BC05C003586CD /* KRMeshSphere.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E4C454B4167BC05C003586CD /* KRMeshSphere.cpp */; };
E4C454B9167BD236003586CD /* KRHitInfo.h in Headers */ = {isa = PBXBuildFile; fileRef = E4C454B7167BD235003586CD /* KRHitInfo.h */; settings = {ATTRIBUTES = (Public, ); }; };
E4C454BC167BD248003586CD /* KRHitInfo.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E4C454BA167BD248003586CD /* KRHitInfo.cpp */; };
E4C454B9167BD236003586CD /* HitInfo.h in Headers */ = {isa = PBXBuildFile; fileRef = E4C454B7167BD235003586CD /* HitInfo.h */; settings = {ATTRIBUTES = (Public, ); }; };
E4C454BC167BD248003586CD /* HitInfo.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E4C454BA167BD248003586CD /* HitInfo.cpp */; };
E4CA10E61637BD0A005D9400 /* KRTexturePVR.h in Headers */ = {isa = PBXBuildFile; fileRef = E4CA10E41637BD0A005D9400 /* KRTexturePVR.h */; settings = {ATTRIBUTES = (Public, ); }; };
E4CA10EA1637BD2B005D9400 /* KRTexturePVR.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E4CA10E81637BD2B005D9400 /* KRTexturePVR.cpp */; };
E4CA10ED1637BD47005D9400 /* KRTextureTGA.h in Headers */ = {isa = PBXBuildFile; fileRef = E4CA10EB1637BD47005D9400 /* KRTextureTGA.h */; settings = {ATTRIBUTES = (Public, ); }; };
@@ -828,8 +828,8 @@
E4C454AE167BB8FC003586CD /* KRMeshCube.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; lineEnding = 0; path = KRMeshCube.cpp; sourceTree = "<group>"; xcLanguageSpecificationIdentifier = xcode.lang.cpp; };
E4C454B1167BC04B003586CD /* KRMeshSphere.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; lineEnding = 0; path = KRMeshSphere.h; sourceTree = "<group>"; xcLanguageSpecificationIdentifier = xcode.lang.objcpp; };
E4C454B4167BC05C003586CD /* KRMeshSphere.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; lineEnding = 0; path = KRMeshSphere.cpp; sourceTree = "<group>"; xcLanguageSpecificationIdentifier = xcode.lang.cpp; };
E4C454B7167BD235003586CD /* KRHitInfo.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = KRHitInfo.h; sourceTree = "<group>"; };
E4C454BA167BD248003586CD /* KRHitInfo.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = KRHitInfo.cpp; sourceTree = "<group>"; };
E4C454B7167BD235003586CD /* HitInfo.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HitInfo.h; sourceTree = "<group>"; };
E4C454BA167BD248003586CD /* HitInfo.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = HitInfo.cpp; sourceTree = "<group>"; };
E4C8E4E416B9B2D50031DDCB /* kraken_standard_assets_ios.bundle */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = kraken_standard_assets_ios.bundle; sourceTree = BUILT_PRODUCTS_DIR; };
E4C8E4E816B9B2D50031DDCB /* Resources-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "Resources-Info.plist"; sourceTree = "<group>"; };
E4C8E4F416B9B2E20031DDCB /* kraken_standard_assets_osx.bundle */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = kraken_standard_assets_osx.bundle; sourceTree = BUILT_PRODUCTS_DIR; };
@@ -1459,8 +1459,8 @@
E46DBE841512B9E200D59F86 /* KREngine-common.h */,
E491017213C99BDC0098455B /* KREngine.h */,
E491016F13C99BDC0098455B /* KREngine.mm */,
E4C454BA167BD248003586CD /* KRHitInfo.cpp */,
E4C454B7167BD235003586CD /* KRHitInfo.h */,
E4C454BA167BD248003586CD /* HitInfo.cpp */,
E4C454B7167BD235003586CD /* HitInfo.h */,
E4924C2415EE95E700B965C6 /* KROctree.cpp */,
E4924C2515EE95E800B965C6 /* KROctree.h */,
E4924C2915EE96AA00B965C6 /* KROctreeNode.cpp */,
@@ -1698,7 +1698,7 @@
E423D7231BEDEE2D0021812E /* KRDataBlock.h in Headers */,
E423D7241BEDEE2D0021812E /* KREngine-common.h in Headers */,
E423D7251BEDEE2D0021812E /* KREngine.h in Headers */,
E423D7261BEDEE2D0021812E /* KRHitInfo.h in Headers */,
E423D7261BEDEE2D0021812E /* HitInfo.h in Headers */,
E423D7271BEDEE2D0021812E /* KROctree.h in Headers */,
E423D7281BEDEE2D0021812E /* KROctreeNode.h in Headers */,
E423D7291BEDEE2D0021812E /* KRRenderSettings.h in Headers */,
@@ -1781,7 +1781,7 @@
E4159B8419C5760800622D1E /* KRDataBlock.h in Headers */,
E4159B8519C5760800622D1E /* KREngine-common.h in Headers */,
E4159B8619C5760800622D1E /* KREngine.h in Headers */,
E4159B8719C5760800622D1E /* KRHitInfo.h in Headers */,
E4159B8719C5760800622D1E /* HitInfo.h in Headers */,
E4159B8819C5760800622D1E /* KROctree.h in Headers */,
E4159B8919C5760800622D1E /* KROctreeNode.h in Headers */,
E4159B8A19C5760900622D1E /* KRRenderSettings.h in Headers */,
@@ -1845,7 +1845,7 @@
E4CA11751639CBD6005D9400 /* KRViewport.h in Headers */,
E461A15D152E563100F2044A /* KRDirectionalLight.h in Headers */,
E461A169152E570700F2044A /* KRSpotLight.h in Headers */,
E4C454B9167BD236003586CD /* KRHitInfo.h in Headers */,
E4C454B9167BD236003586CD /* HitInfo.h in Headers */,
E4324BA516444C0D0043185B /* KRParticleSystem.h in Headers */,
E4324BAC16444DEF0043185B /* KRParticleSystemNewtonian.h in Headers */,
E4C454AD167BB8EC003586CD /* KRMeshCube.h in Headers */,
@@ -2262,7 +2262,7 @@
E423D6D11BEDEE2D0021812E /* KRContextObject.cpp in Sources */,
E423D6D21BEDEE2D0021812E /* KRDataBlock.cpp in Sources */,
E423D6D31BEDEE2D0021812E /* KREngine.mm in Sources */,
E423D6D41BEDEE2D0021812E /* KRHitInfo.cpp in Sources */,
E423D6D41BEDEE2D0021812E /* HitInfo.cpp in Sources */,
E423D6D51BEDEE2D0021812E /* KROctree.cpp in Sources */,
E423D6D61BEDEE2D0021812E /* KROctreeNode.cpp in Sources */,
E423D6D71BEDEE2D0021812E /* KRRenderSettings.cpp in Sources */,
@@ -2346,7 +2346,7 @@
E48A54FB1EFBB61C00C12516 /* KRDSP_vDSP.cpp in Sources */,
E4159BCF19C5762F00622D1E /* KRDataBlock.cpp in Sources */,
E4159BD019C5762F00622D1E /* KREngine.mm in Sources */,
E4159BD119C5762F00622D1E /* KRHitInfo.cpp in Sources */,
E4159BD119C5762F00622D1E /* HitInfo.cpp in Sources */,
E4159BD219C5762F00622D1E /* KROctree.cpp in Sources */,
E4159BD319C5762F00622D1E /* KROctreeNode.cpp in Sources */,
E4159BD419C5762F00622D1E /* KRRenderSettings.cpp in Sources */,
@@ -2431,7 +2431,7 @@
E43F70E61824D9AB00136169 /* KRStreamer.mm in Sources */,
E4C454B0167BB8FC003586CD /* KRMeshCube.cpp in Sources */,
E4C454B6167BC05C003586CD /* KRMeshSphere.cpp in Sources */,
E4C454BC167BD248003586CD /* KRHitInfo.cpp in Sources */,
E4C454BC167BD248003586CD /* HitInfo.cpp in Sources */,
E44F38291683B24800399B5D /* KRRenderSettings.cpp in Sources */,
E414F9A71694D977000B3D58 /* KRUnknownManager.cpp in Sources */,
E414F9AD1694DA37000B3D58 /* KRUnknown.cpp in Sources */,

View File

@@ -13,4 +13,13 @@ add_sources(aabb.cpp)
add_sources(hitinfo.cpp)
# Private Implementation
add_sources(KRAmbientZone.cpp)
add_sources(KRAnimation.cpp)
add_sources(KRAnimationAttribute.cpp)
add_sources(KRAnimationCurve.cpp)
add_sources(KRAnimationCurveManager.cpp)
add_sources(KRAnimationLayer.cpp)
add_sources(KRAnimationManager.cpp)
add_sources(KRAudioBuffer.cpp)
add_sources(KRAudioManager.cpp)
add_sources(KRDataBlock.cpp)

View File

@@ -140,6 +140,9 @@ tinyxml2::XMLElement *KRAnimationAttribute::saveXML( tinyxml2::XMLNode *parent)
case KRNode::KRENGINE_NODE_SCALE_OFFSET_Z:
szAttribute = "scale_offset_z";
break;
case KRNode::KRENGINE_NODE_ATTRIBUTE_COUNT:
// Suppress warning
break;
}
e->SetAttribute("attribute", szAttribute);

View File

@@ -144,8 +144,8 @@ void KRAudioManager::setListenerScene(KRScene *scene)
void KRAudioManager::renderAudio(UInt32 inNumberFrames, AudioBufferList *ioData)
{
// uint64_t start_time = mach_absolute_time();
AudioUnitSampleType *outA = (AudioUnitSampleType *)ioData->mBuffers[0].mData;
AudioUnitSampleType *outB = (AudioUnitSampleType *)ioData->mBuffers[1].mData; // Non-Interleaved only
Float32 *outA = (Float32 *)ioData->mBuffers[0].mData;
Float32 *outB = (Float32 *)ioData->mBuffers[1].mData; // Non-Interleaved only
int output_frame = 0;
@@ -168,16 +168,6 @@ void KRAudioManager::renderAudio(UInt32 inNumberFrames, AudioBufferList *ioData)
float right_channel = block_data[m_output_sample * KRENGINE_MAX_OUTPUT_CHANNELS + 1];
m_output_sample++;
#if CA_PREFER_FIXED_POINT
// Interleaved
// outA[i*2] = (SInt16)(left_channel * 32767.0f);
// outA[i*2 + 1] = (SInt16)(right_channel * 32767.0f);
// Non-Interleaved
outA[output_frame] = (SInt32)(left_channel * 0x1000000f);
outB[output_frame] = (SInt32)(right_channel * 0x1000000f);
#else
// Interleaved
// outA[i*2] = (Float32)left_channel;
// outA[i*2 + 1] = (Float32)right_channel;
@@ -185,7 +175,6 @@ void KRAudioManager::renderAudio(UInt32 inNumberFrames, AudioBufferList *ioData)
// Non-Interleaved
outA[output_frame] = (Float32)left_channel;
outB[output_frame] = (Float32)right_channel;
#endif
output_frame++;
}
}
@@ -417,18 +406,14 @@ OSStatus KRAudioManager::renderInput(void *inRefCon, AudioUnitRenderActionFlags
void KRSetAUCanonical(AudioStreamBasicDescription &desc, UInt32 nChannels, bool interleaved)
{
desc.mFormatID = kAudioFormatLinearPCM;
#if CA_PREFER_FIXED_POINT
desc.mFormatFlags = kAudioFormatFlagsCanonical | (kAudioUnitSampleFractionBits << kLinearPCMFormatFlagsSampleFractionShift);
#else
desc.mFormatFlags = kAudioFormatFlagsCanonical;
#endif
desc.mFormatFlags = kAudioFormatFlagsNativeFloatPacked;
desc.mChannelsPerFrame = nChannels;
desc.mFramesPerPacket = 1;
desc.mBitsPerChannel = 8 * sizeof(AudioUnitSampleType);
desc.mBitsPerChannel = 8 * sizeof(Float32);
if (interleaved)
desc.mBytesPerPacket = desc.mBytesPerFrame = nChannels * sizeof(AudioUnitSampleType);
desc.mBytesPerPacket = desc.mBytesPerFrame = nChannels * sizeof(Float32);
else {
desc.mBytesPerPacket = desc.mBytesPerFrame = sizeof(AudioUnitSampleType);
desc.mBytesPerPacket = desc.mBytesPerFrame = sizeof(Float32);
desc.mFormatFlags |= kAudioFormatFlagIsNonInterleaved;
}
}
@@ -1128,8 +1113,6 @@ void KRAudioManager::initAudio()
&size));
// ----
// AUCanonical on the iPhone is the 8.24 integer format that is native to the iPhone.
KRSetAUCanonical(desc, 2, false);
desc.mSampleRate = 44100.0f;
@@ -1487,7 +1470,7 @@ void KRAudioManager::startFrame(float deltaTime)
if(source->getEnableOcclusion() && /* FINDME!! DISABLES CODE */ (false)) {
KRHitInfo hitinfo;
HitInfo hitinfo;
if(source->getScene().lineCast(m_listener_position, source_world_position, hitinfo, KRAKEN_COLLIDER_AUDIO)) {
gain = 0.0f;
}
@@ -1709,23 +1692,13 @@ void KRAudioManager::renderITD()
// Get a pointer to the dataBuffer of the AudioBufferList
AudioUnitSampleType *outA = (AudioUnitSampleType *)ioData->mBuffers[0].mData;
AudioUnitSampleType *outB = (AudioUnitSampleType *)ioData->mBuffers[1].mData; // Non-Interleaved only
Float32 *outA = (Float32 *)ioData->mBuffers[0].mData;
Float32 *outB = (Float32 *)ioData->mBuffers[1].mData; // Non-Interleaved only
// ----====---- Zero out accumulation / output buffer ----====----
for (UInt32 i = 0; i < inNumberFrames; ++i) {
#if CA_PREFER_FIXED_POINT
// Interleaved
// outA[i*2] = (SInt16)(left_channel * 32767.0f);
// outA[i*2 + 1] = (SInt16)(right_channel * 32767.0f);
// Non-Interleaved
outA[i] = (SInt32)(0x1000000f);
outB[i] = (SInt32)(0x1000000f);
#else
// Interleaved
// outA[i*2] = (Float32)left_channel;
// outA[i*2 + 1] = (Float32)right_channel;
@@ -1733,7 +1706,6 @@ void KRAudioManager::renderITD()
// Non-Interleaved
outA[i] = (Float32)0.0f;
outB[i] = (Float32)0.0f;
#endif
}
// ----====---- Render direct / HRTF audio ----====----
@@ -1768,16 +1740,6 @@ void KRAudioManager::renderITD()
// left_channel = 0.0f;
// right_channel = 0.0f;
#if CA_PREFER_FIXED_POINT
// Interleaved
// outA[i*2] = (SInt16)(left_channel * 32767.0f);
// outA[i*2 + 1] = (SInt16)(right_channel * 32767.0f);
// Non-Interleaved
outA[i] += (SInt32)(left_channel * 0x1000000f);
outB[i] += (SInt32)(right_channel * 0x1000000f);
#else
// Interleaved
// outA[i*2] = (Float32)left_channel;
// outA[i*2 + 1] = (Float32)right_channel;
@@ -1785,7 +1747,6 @@ void KRAudioManager::renderITD()
// Non-Interleaved
outA[i] += (Float32)left_channel;
outB[i] += (Float32)right_channel;
#endif
sample_frame++;
}
}

View File

@@ -92,7 +92,7 @@ AABB KRCollider::getBounds() {
}
}
bool KRCollider::lineCast(const Vector3 &v0, const Vector3 &v1, KRHitInfo &hitinfo, unsigned int layer_mask)
bool KRCollider::lineCast(const Vector3 &v0, const Vector3 &v1, HitInfo &hitinfo, unsigned int layer_mask)
{
if(layer_mask & m_layer_mask ) { // Only test if layer masks have a common bit set
loadModel();
@@ -100,15 +100,15 @@ bool KRCollider::lineCast(const Vector3 &v0, const Vector3 &v1, KRHitInfo &hitin
if(getBounds().intersectsLine(v0, v1)) {
Vector3 v0_model_space = Matrix4::Dot(getInverseModelMatrix(), v0);
Vector3 v1_model_space = Matrix4::Dot(getInverseModelMatrix(), v1);
KRHitInfo hitinfo_model_space;
HitInfo hitinfo_model_space;
if(hitinfo.didHit()) {
Vector3 hit_position_model_space = Matrix4::Dot(getInverseModelMatrix(), hitinfo.getPosition());
hitinfo_model_space = KRHitInfo(hit_position_model_space, Matrix4::DotNoTranslate(getInverseModelMatrix(), hitinfo.getNormal()), (hit_position_model_space - v0_model_space).magnitude(), hitinfo.getNode());
hitinfo_model_space = HitInfo(hit_position_model_space, Matrix4::DotNoTranslate(getInverseModelMatrix(), hitinfo.getNormal()), (hit_position_model_space - v0_model_space).magnitude(), hitinfo.getNode());
}
if(m_models[0]->lineCast(v0_model_space, v1_model_space, hitinfo_model_space)) {
Vector3 hit_position_world_space = Matrix4::Dot(getModelMatrix(), hitinfo_model_space.getPosition());
hitinfo = KRHitInfo(hit_position_world_space, Vector3::Normalize(Matrix4::DotNoTranslate(getModelMatrix(), hitinfo_model_space.getNormal())), (hit_position_world_space - v0).magnitude(), this);
hitinfo = HitInfo(hit_position_world_space, Vector3::Normalize(Matrix4::DotNoTranslate(getModelMatrix(), hitinfo_model_space.getNormal())), (hit_position_world_space - v0).magnitude(), this);
return true;
}
}
@@ -117,7 +117,7 @@ bool KRCollider::lineCast(const Vector3 &v0, const Vector3 &v1, KRHitInfo &hitin
return false;
}
bool KRCollider::rayCast(const Vector3 &v0, const Vector3 &dir, KRHitInfo &hitinfo, unsigned int layer_mask)
bool KRCollider::rayCast(const Vector3 &v0, const Vector3 &dir, HitInfo &hitinfo, unsigned int layer_mask)
{
if(layer_mask & m_layer_mask) { // Only test if layer masks have a common bit set
loadModel();
@@ -125,15 +125,15 @@ bool KRCollider::rayCast(const Vector3 &v0, const Vector3 &dir, KRHitInfo &hitin
if(getBounds().intersectsRay(v0, dir)) {
Vector3 v0_model_space = Matrix4::Dot(getInverseModelMatrix(), v0);
Vector3 dir_model_space = Vector3::Normalize(Matrix4::DotNoTranslate(getInverseModelMatrix(), dir));
KRHitInfo hitinfo_model_space;
HitInfo hitinfo_model_space;
if(hitinfo.didHit()) {
Vector3 hit_position_model_space = Matrix4::Dot(getInverseModelMatrix(), hitinfo.getPosition());
hitinfo_model_space = KRHitInfo(hit_position_model_space, Vector3::Normalize(Matrix4::DotNoTranslate(getInverseModelMatrix(), hitinfo.getNormal())), (hit_position_model_space - v0_model_space).magnitude(), hitinfo.getNode());
hitinfo_model_space = HitInfo(hit_position_model_space, Vector3::Normalize(Matrix4::DotNoTranslate(getInverseModelMatrix(), hitinfo.getNormal())), (hit_position_model_space - v0_model_space).magnitude(), hitinfo.getNode());
}
if(m_models[0]->rayCast(v0_model_space, dir_model_space, hitinfo_model_space)) {
Vector3 hit_position_world_space = Matrix4::Dot(getModelMatrix(), hitinfo_model_space.getPosition());
hitinfo = KRHitInfo(hit_position_world_space, Vector3::Normalize(Matrix4::DotNoTranslate(getModelMatrix(), hitinfo_model_space.getNormal())), (hit_position_world_space - v0).magnitude(), this);
hitinfo = HitInfo(hit_position_world_space, Vector3::Normalize(Matrix4::DotNoTranslate(getModelMatrix(), hitinfo_model_space.getNormal())), (hit_position_world_space - v0).magnitude(), this);
return true;
}
}
@@ -142,7 +142,7 @@ bool KRCollider::rayCast(const Vector3 &v0, const Vector3 &dir, KRHitInfo &hitin
return false;
}
bool KRCollider::sphereCast(const Vector3 &v0, const Vector3 &v1, float radius, KRHitInfo &hitinfo, unsigned int layer_mask)
bool KRCollider::sphereCast(const Vector3 &v0, const Vector3 &v1, float radius, HitInfo &hitinfo, unsigned int layer_mask)
{
if(layer_mask & m_layer_mask) { // Only test if layer masks have a common bit set
loadModel();
@@ -154,7 +154,7 @@ bool KRCollider::sphereCast(const Vector3 &v0, const Vector3 &v1, float radius,
if(getBounds().intersects(sphereCastBounds)) {
if(m_models[0]->sphereCast(getModelMatrix(), v0, v1, radius, hitinfo)) {
hitinfo = KRHitInfo(hitinfo.getPosition(), hitinfo.getNormal(), hitinfo.getDistance(), this);
hitinfo = HitInfo(hitinfo.getPosition(), hitinfo.getNormal(), hitinfo.getDistance(), this);
return true;
}
}

View File

@@ -57,9 +57,9 @@ public:
virtual void loadXML(tinyxml2::XMLElement *e);
virtual AABB getBounds();
bool lineCast(const Vector3 &v0, const Vector3 &v1, KRHitInfo &hitinfo, unsigned int layer_mask);
bool rayCast(const Vector3 &v0, const Vector3 &v1, KRHitInfo &hitinfo, unsigned int layer_mask);
bool sphereCast(const Vector3 &v0, const Vector3 &v1, float radius, KRHitInfo &hitinfo, unsigned int layer_mask);
bool lineCast(const Vector3 &v0, const Vector3 &v1, HitInfo &hitinfo, unsigned int layer_mask);
bool rayCast(const Vector3 &v0, const Vector3 &v1, HitInfo &hitinfo, unsigned int layer_mask);
bool sphereCast(const Vector3 &v0, const Vector3 &v1, float radius, HitInfo &hitinfo, unsigned int layer_mask);
unsigned int getLayerMask();
void setLayerMask(unsigned int layer_mask);

View File

@@ -1104,7 +1104,7 @@ KRMesh::model_format_t KRMesh::getModelFormat() const
return f;
}
bool KRMesh::rayCast(const Vector3 &start, const Vector3 &dir, const Triangle3 &tri, const Vector3 &tri_n0, const Vector3 &tri_n1, const Vector3 &tri_n2, KRHitInfo &hitinfo)
bool KRMesh::rayCast(const Vector3 &start, const Vector3 &dir, const Triangle3 &tri, const Vector3 &tri_n0, const Vector3 &tri_n1, const Vector3 &tri_n2, HitInfo &hitinfo)
{
Vector3 hit_point;
if(tri.rayCast(start, dir, hit_point)) {
@@ -1124,7 +1124,7 @@ bool KRMesh::rayCast(const Vector3 &start, const Vector3 &dir, const Triangle3 &
distance_v2 /= distance_total;
Vector3 normal = Vector3::Normalize(tri_n0 * (1.0 - distance_v0) + tri_n1 * (1.0 - distance_v1) + tri_n2 * (1.0 - distance_v2));
hitinfo = KRHitInfo(hit_point, normal, new_hit_distance);
hitinfo = HitInfo(hit_point, normal, new_hit_distance);
return true;
} else {
return false; // The hit was farther than an existing hit
@@ -1138,7 +1138,7 @@ bool KRMesh::rayCast(const Vector3 &start, const Vector3 &dir, const Triangle3 &
}
bool KRMesh::rayCast(const Vector3 &start, const Vector3 &dir, KRHitInfo &hitinfo) const
bool KRMesh::rayCast(const Vector3 &start, const Vector3 &dir, HitInfo &hitinfo) const
{
m_pData->lock();
bool hit_found = false;
@@ -1184,7 +1184,7 @@ bool KRMesh::rayCast(const Vector3 &start, const Vector3 &dir, KRHitInfo &hitinf
}
bool KRMesh::sphereCast(const Matrix4 &model_to_world, const Vector3 &v0, const Vector3 &v1, float radius, KRHitInfo &hitinfo) const
bool KRMesh::sphereCast(const Matrix4 &model_to_world, const Vector3 &v0, const Vector3 &v1, float radius, HitInfo &hitinfo) const
{
m_pData->lock();
@@ -1236,7 +1236,7 @@ bool KRMesh::sphereCast(const Matrix4 &model_to_world, const Vector3 &v0, const
return hit_found;
}
bool KRMesh::sphereCast(const Matrix4 &model_to_world, const Vector3 &v0, const Vector3 &v1, float radius, const Triangle3 &tri, KRHitInfo &hitinfo)
bool KRMesh::sphereCast(const Matrix4 &model_to_world, const Vector3 &v0, const Vector3 &v1, float radius, const Triangle3 &tri, HitInfo &hitinfo)
{
Vector3 dir = Vector3::Normalize(v1 - v0);
@@ -1261,7 +1261,7 @@ bool KRMesh::sphereCast(const Matrix4 &model_to_world, const Vector3 &v0, const
distance_v2 /= distance_total;
Vector3 normal = Vector3::Normalize(Matrix4::DotNoTranslate(model_to_world, (tri_n0 * (1.0 - distance_v0) + tri_n1 * (1.0 - distance_v1) + tri_n2 * (1.0 - distance_v2))));
*/
hitinfo = KRHitInfo(new_hit_point, world_tri.calculateNormal(), new_hit_distance);
hitinfo = HitInfo(new_hit_point, world_tri.calculateNormal(), new_hit_distance);
return true;
}
}
@@ -1269,10 +1269,10 @@ bool KRMesh::sphereCast(const Matrix4 &model_to_world, const Vector3 &v0, const
return false;
}
bool KRMesh::lineCast(const Vector3 &v0, const Vector3 &v1, KRHitInfo &hitinfo) const
bool KRMesh::lineCast(const Vector3 &v0, const Vector3 &v1, HitInfo &hitinfo) const
{
m_pData->lock();
KRHitInfo new_hitinfo;
HitInfo new_hitinfo;
Vector3 dir = Vector3::Normalize(v1 - v0);
if(rayCast(v0, dir, new_hitinfo)) {
if((new_hitinfo.getPosition() - v0).sqrMagnitude() <= (v1 - v0).sqrMagnitude()) {

View File

@@ -8,7 +8,7 @@
#include "KROctree.h"
#include "KRNode.h"
#include "KRHitInfo.h"
#include "HitInfo.h"
#include "KRCollider.h"
KROctree::KROctree()
@@ -97,7 +97,7 @@ std::set<KRNode *> &KROctree::getOuterSceneNodes()
}
bool KROctree::lineCast(const Vector3 &v0, const Vector3 &v1, KRHitInfo &hitinfo, unsigned int layer_mask)
bool KROctree::lineCast(const Vector3 &v0, const Vector3 &v1, HitInfo &hitinfo, unsigned int layer_mask)
{
bool hit_found = false;
std::vector<KRCollider *> outer_colliders;
@@ -118,7 +118,7 @@ bool KROctree::lineCast(const Vector3 &v0, const Vector3 &v1, KRHitInfo &hitinfo
return hit_found;
}
bool KROctree::rayCast(const Vector3 &v0, const Vector3 &dir, KRHitInfo &hitinfo, unsigned int layer_mask)
bool KROctree::rayCast(const Vector3 &v0, const Vector3 &dir, HitInfo &hitinfo, unsigned int layer_mask)
{
bool hit_found = false;
for(std::set<KRNode *>::iterator outer_nodes_itr=m_outerSceneNodes.begin(); outer_nodes_itr != m_outerSceneNodes.end(); outer_nodes_itr++) {
@@ -133,7 +133,7 @@ bool KROctree::rayCast(const Vector3 &v0, const Vector3 &dir, KRHitInfo &hitinfo
return hit_found;
}
bool KROctree::sphereCast(const Vector3 &v0, const Vector3 &v1, float radius, KRHitInfo &hitinfo, unsigned int layer_mask)
bool KROctree::sphereCast(const Vector3 &v0, const Vector3 &v1, float radius, HitInfo &hitinfo, unsigned int layer_mask)
{
bool hit_found = false;
std::vector<KRCollider *> outer_colliders;

View File

@@ -196,7 +196,7 @@ std::set<KRNode *> &KROctreeNode::getSceneNodes()
}
bool KROctreeNode::lineCast(const Vector3 &v0, const Vector3 &v1, KRHitInfo &hitinfo, unsigned int layer_mask)
bool KROctreeNode::lineCast(const Vector3 &v0, const Vector3 &v1, HitInfo &hitinfo, unsigned int layer_mask)
{
bool hit_found = false;
if(hitinfo.didHit() && v1 != hitinfo.getPosition()) {
@@ -224,7 +224,7 @@ bool KROctreeNode::lineCast(const Vector3 &v0, const Vector3 &v1, KRHitInfo &hit
return hit_found;
}
bool KROctreeNode::rayCast(const Vector3 &v0, const Vector3 &dir, KRHitInfo &hitinfo, unsigned int layer_mask)
bool KROctreeNode::rayCast(const Vector3 &v0, const Vector3 &dir, HitInfo &hitinfo, unsigned int layer_mask)
{
bool hit_found = false;
if(hitinfo.didHit()) {
@@ -252,7 +252,7 @@ bool KROctreeNode::rayCast(const Vector3 &v0, const Vector3 &dir, KRHitInfo &hit
return hit_found;
}
bool KROctreeNode::sphereCast(const Vector3 &v0, const Vector3 &v1, float radius, KRHitInfo &hitinfo, unsigned int layer_mask)
bool KROctreeNode::sphereCast(const Vector3 &v0, const Vector3 &v1, float radius, HitInfo &hitinfo, unsigned int layer_mask)
{
bool hit_found = false;
/*

View File

@@ -579,17 +579,17 @@ AABB KRScene::getRootOctreeBounds()
}
bool KRScene::lineCast(const Vector3 &v0, const Vector3 &v1, KRHitInfo &hitinfo, unsigned int layer_mask)
bool KRScene::lineCast(const Vector3 &v0, const Vector3 &v1, HitInfo &hitinfo, unsigned int layer_mask)
{
return m_nodeTree.lineCast(v0, v1, hitinfo, layer_mask);
}
bool KRScene::rayCast(const Vector3 &v0, const Vector3 &dir, KRHitInfo &hitinfo, unsigned int layer_mask)
bool KRScene::rayCast(const Vector3 &v0, const Vector3 &dir, HitInfo &hitinfo, unsigned int layer_mask)
{
return m_nodeTree.rayCast(v0, dir, hitinfo, layer_mask);
}
bool KRScene::sphereCast(const Vector3 &v0, const Vector3 &v1, float radius, KRHitInfo &hitinfo, unsigned int layer_mask)
bool KRScene::sphereCast(const Vector3 &v0, const Vector3 &v1, float radius, HitInfo &hitinfo, unsigned int layer_mask)
{
return m_nodeTree.sphereCast(v0, v1, radius, hitinfo, layer_mask);
}

View File

@@ -1,5 +1,5 @@
//
// KRHitInfo.h
// hitinfo.h
// KREngine
//
// Copyright 2012 Kearwood Gilbert. All rights reserved.

View File

@@ -151,7 +151,7 @@
<ClCompile Include="..\kraken\KRDSP_vDSP.cpp" />
<ClCompile Include="..\kraken\KRFloat.cpp" />
<ClCompile Include="..\kraken\KRHelpers.cpp" />
<ClCompile Include="..\kraken\KRHitInfo.cpp" />
<ClCompile Include="..\kraken\HitInfo.cpp" />
<ClCompile Include="..\kraken\KRLight.cpp" />
<ClCompile Include="..\kraken\KRLocator.cpp" />
<ClCompile Include="..\kraken\KRLODGroup.cpp" />
@@ -229,7 +229,7 @@
<ClInclude Include="..\kraken\KREngine-common.h" />
<ClInclude Include="..\kraken\KREngine.h" />
<ClInclude Include="..\kraken\KRHelpers.h" />
<ClInclude Include="..\kraken\KRHitInfo.h" />
<ClInclude Include="..\kraken\HitInfo.h" />
<ClInclude Include="..\kraken\KRLight.h" />
<ClInclude Include="..\kraken\KRLocator.h" />
<ClInclude Include="..\kraken\KRLODGroup.h" />

View File

@@ -102,7 +102,7 @@
<ClCompile Include="..\kraken\KRDirectionalLight.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\kraken\KRHitInfo.cpp">
<ClCompile Include="..\kraken\HitInfo.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\kraken\KRLight.cpp">
@@ -335,7 +335,7 @@
<ClInclude Include="..\kraken\KREngine.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\kraken\KRHitInfo.h">
<ClInclude Include="..\kraken\HitInfo.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\kraken\KRLight.h">