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:
@@ -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 */,
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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++;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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()) {
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
/*
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
//
|
||||
// KRHitInfo.h
|
||||
// hitinfo.h
|
||||
// KREngine
|
||||
//
|
||||
// Copyright 2012 Kearwood Gilbert. All rights reserved.
|
||||
|
||||
@@ -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" />
|
||||
|
||||
@@ -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">
|
||||
|
||||
Reference in New Issue
Block a user