mirror of
https://github.com/nillerusr/source-engine.git
synced 2026-08-10 02:39:35 +00:00
1
This commit is contained in:
@@ -0,0 +1,62 @@
|
||||
//========= Copyright Valve Corporation, All rights reserved. ============//
|
||||
//
|
||||
// Purpose:
|
||||
//
|
||||
//===========================================================================//
|
||||
|
||||
#include "tier0/platform.h"
|
||||
#include "mathlib/mathlib.h"
|
||||
#include "mathlib/ssemath.h"
|
||||
#include "particles.h"
|
||||
#include "tier2/tier2.h"
|
||||
#include "tier0/memdbgon.h"
|
||||
|
||||
void main(int argc,char **argv)
|
||||
{
|
||||
InitCommandLineProgram( argc, argv );
|
||||
|
||||
|
||||
// test sse noise
|
||||
FourVectors start;
|
||||
start.LoadAndSwizzle(Vector(-1,4,3),Vector(0,7,8),Vector(8,1,2),Vector(0,0,0));
|
||||
FourVectors delta;
|
||||
delta.LoadAndSwizzle(Vector(.1,-.1,.05),Vector(.1,.1,.1),Vector(0,-.1,0),Vector(.1,0,0));
|
||||
#ifdef TIME_IT
|
||||
float start_time=Plat_FloatTime();
|
||||
for(int sim=0;sim<1000*1000*10;sim++)
|
||||
{
|
||||
__m128 n=SSENoise( start );
|
||||
start+=delta;
|
||||
}
|
||||
printf("n/s=%f\n",(4*1000*1000*10.0)/(Plat_FloatTime()-start_time));
|
||||
#endif
|
||||
for(int i=0;i<130;i++)
|
||||
{
|
||||
__m128 noise=SSENoise( start );
|
||||
// printf(" noise(x=%f)=%f\t%f\t%f\t%f\n",
|
||||
printf(" %f,%f,%f,%f,%f\n",
|
||||
start.X(0),noise.m128_f32[0],
|
||||
noise.m128_f32[1],
|
||||
noise.m128_f32[2],
|
||||
noise.m128_f32[3]);
|
||||
start+=delta;
|
||||
}
|
||||
|
||||
#if 0
|
||||
ReadParticleConfigFile("particles.cfg");
|
||||
ParticleCollection lots_o_particles( "fireball" );
|
||||
lots_o_particles.SetNActiveParticles( 1000000 );
|
||||
// kick the particles up into the air
|
||||
lots_o_particles.FillAttributeWithConstant( PARTICLE_ATTRIBUTE_XCOORD, 0.0 );
|
||||
lots_o_particles.FillAttributeWithConstant( PARTICLE_ATTRIBUTE_YCOORD, 0.0 );
|
||||
lots_o_particles.FillAttributeWithConstant( PARTICLE_ATTRIBUTE_ZCOORD, 10.0 );
|
||||
lots_o_particles.FillAttributeWithConstant( PARTICLE_ATTRIBUTE_PREV_XCOORD, 0.0 );
|
||||
lots_o_particles.FillAttributeWithConstant( PARTICLE_ATTRIBUTE_PREV_YCOORD, 0.0 );
|
||||
lots_o_particles.FillAttributeWithConstant( PARTICLE_ATTRIBUTE_PREV_ZCOORD, 0.0 );
|
||||
float start=Plat_FloatTime();
|
||||
for(int sim=0;sim<1000;sim++)
|
||||
lots_o_particles.Simulate( 0.01 );
|
||||
printf("p/s=%f\n",(100.0*1000000)/(Plat_FloatTime()-start));
|
||||
#endif
|
||||
|
||||
}
|
||||
@@ -0,0 +1,177 @@
|
||||
<?xml version="1.0" encoding="Windows-1252"?>
|
||||
<VisualStudioProject
|
||||
ProjectType="Visual C++"
|
||||
Version="7.10"
|
||||
Name="particle_test"
|
||||
ProjectGUID="{FC47D86C-97D1-470D-A26B-6BC2B6484B86}"
|
||||
RootNamespace="particle_test"
|
||||
Keyword="ManagedCProj">
|
||||
<Platforms>
|
||||
<Platform
|
||||
Name="Win32"/>
|
||||
</Platforms>
|
||||
<Configurations>
|
||||
<Configuration
|
||||
Name="Debug|Win32"
|
||||
OutputDirectory="..\..\..\game\bin"
|
||||
IntermediateDirectory="$(ConfigurationName)"
|
||||
ConfigurationType="1"
|
||||
CharacterSet="2"
|
||||
ManagedExtensions="FALSE"
|
||||
WholeProgramOptimization="TRUE">
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="0"
|
||||
GlobalOptimizations="TRUE"
|
||||
EnableIntrinsicFunctions="TRUE"
|
||||
FavorSizeOrSpeed="1"
|
||||
OmitFramePointers="TRUE"
|
||||
OptimizeForProcessor="3"
|
||||
AdditionalIncludeDirectories="..\..\public;..\..\public\tier1;..\common"
|
||||
PreprocessorDefinitions="_WIN32;_DEBUG"
|
||||
MinimalRebuild="FALSE"
|
||||
ExceptionHandling="FALSE"
|
||||
BasicRuntimeChecks="0"
|
||||
RuntimeLibrary="1"
|
||||
BufferSecurityCheck="FALSE"
|
||||
UsePrecompiledHeader="0"
|
||||
WarningLevel="4"
|
||||
DebugInformationFormat="3"
|
||||
CallingConvention="0"/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"/>
|
||||
<Tool
|
||||
Name="VCLinkerTool"
|
||||
OutputFile="$(OutDir)\$(ProjectName).exe"
|
||||
LinkIncremental="2"
|
||||
IgnoreDefaultLibraryNames="libcd,libc,libcmt"
|
||||
GenerateDebugInformation="TRUE"
|
||||
AssemblyDebug="1"/>
|
||||
<Tool
|
||||
Name="VCMIDLTool"/>
|
||||
<Tool
|
||||
Name="VCPostBuildEventTool"/>
|
||||
<Tool
|
||||
Name="VCPreBuildEventTool"/>
|
||||
<Tool
|
||||
Name="VCPreLinkEventTool"
|
||||
CommandLine="if exist ..\..\..\game\bin\particle_test.exe attrib -r ..\..\..\game\bin\particle_test.exe
|
||||
if exist ..\..\..\game\bin\particle_test.pdb attrib -r ..\..\..\game\bin\particle_test.pdb
|
||||
|
||||
"/>
|
||||
<Tool
|
||||
Name="VCResourceCompilerTool"/>
|
||||
<Tool
|
||||
Name="VCWebServiceProxyGeneratorTool"/>
|
||||
<Tool
|
||||
Name="VCXMLDataGeneratorTool"/>
|
||||
<Tool
|
||||
Name="VCWebDeploymentTool"/>
|
||||
<Tool
|
||||
Name="VCManagedWrapperGeneratorTool"/>
|
||||
<Tool
|
||||
Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
|
||||
</Configuration>
|
||||
<Configuration
|
||||
Name="Release|Win32"
|
||||
OutputDirectory="..\..\..\game\bin"
|
||||
IntermediateDirectory="$(ConfigurationName)"
|
||||
ConfigurationType="1"
|
||||
CharacterSet="2"
|
||||
ManagedExtensions="FALSE"
|
||||
WholeProgramOptimization="TRUE">
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="2"
|
||||
GlobalOptimizations="TRUE"
|
||||
InlineFunctionExpansion="2"
|
||||
EnableIntrinsicFunctions="TRUE"
|
||||
ImproveFloatingPointConsistency="FALSE"
|
||||
FavorSizeOrSpeed="1"
|
||||
OmitFramePointers="FALSE"
|
||||
OptimizeForProcessor="3"
|
||||
AdditionalIncludeDirectories="..\..\public;..\..\public\tier1;..\common"
|
||||
PreprocessorDefinitions="_WIN32;NDEBUG"
|
||||
MinimalRebuild="FALSE"
|
||||
ExceptionHandling="FALSE"
|
||||
RuntimeLibrary="0"
|
||||
BufferSecurityCheck="FALSE"
|
||||
UsePrecompiledHeader="0"
|
||||
WarningLevel="4"
|
||||
DebugInformationFormat="3"
|
||||
CallingConvention="0"/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"/>
|
||||
<Tool
|
||||
Name="VCLinkerTool"
|
||||
OutputFile="$(OutDir)\$(ProjectName).exe"
|
||||
LinkIncremental="1"
|
||||
IgnoreDefaultLibraryNames="libc;libcd;libcmtd"
|
||||
GenerateDebugInformation="TRUE"/>
|
||||
<Tool
|
||||
Name="VCMIDLTool"/>
|
||||
<Tool
|
||||
Name="VCPostBuildEventTool"/>
|
||||
<Tool
|
||||
Name="VCPreBuildEventTool"/>
|
||||
<Tool
|
||||
Name="VCPreLinkEventTool"
|
||||
CommandLine="if exist ..\..\..\game\bin\particle_test.exe attrib -r ..\..\..\game\bin\particle_test.exe
|
||||
if exist ..\..\..\game\bin\particle_test.pdb attrib -r ..\..\..\game\bin\particle_test.pdb
|
||||
|
||||
"/>
|
||||
<Tool
|
||||
Name="VCResourceCompilerTool"/>
|
||||
<Tool
|
||||
Name="VCWebServiceProxyGeneratorTool"/>
|
||||
<Tool
|
||||
Name="VCXMLDataGeneratorTool"/>
|
||||
<Tool
|
||||
Name="VCWebDeploymentTool"/>
|
||||
<Tool
|
||||
Name="VCManagedWrapperGeneratorTool"/>
|
||||
<Tool
|
||||
Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
|
||||
</Configuration>
|
||||
</Configurations>
|
||||
<References>
|
||||
<AssemblyReference
|
||||
RelativePath="mscorlib.dll"/>
|
||||
<AssemblyReference
|
||||
RelativePath="System.dll"/>
|
||||
<AssemblyReference
|
||||
RelativePath="System.Data.dll"/>
|
||||
</References>
|
||||
<Files>
|
||||
<Filter
|
||||
Name="Linker Libraries"
|
||||
Filter="">
|
||||
<File
|
||||
RelativePath="..\..\lib\public\bitmap.lib">
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\lib\public\mathlib.lib">
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\lib\public\raytrace.lib">
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\lib\public\tier0.lib">
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\lib\public\tier1.lib">
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\lib\public\tier2.lib">
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\lib\public\vstdlib.lib">
|
||||
</File>
|
||||
</Filter>
|
||||
<File
|
||||
RelativePath="particle_test.cpp">
|
||||
</File>
|
||||
</Files>
|
||||
<Globals>
|
||||
</Globals>
|
||||
</VisualStudioProject>
|
||||
@@ -0,0 +1,48 @@
|
||||
sheets
|
||||
{
|
||||
sheet1
|
||||
{
|
||||
spark
|
||||
{
|
||||
coords "0 0 10 10"
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
particles
|
||||
{
|
||||
spark
|
||||
{
|
||||
sheet sheet1
|
||||
sprite spark
|
||||
}
|
||||
}
|
||||
|
||||
psystems
|
||||
{
|
||||
fireball
|
||||
{
|
||||
max_particles 1000000
|
||||
material effects/firesprite
|
||||
ptype spark
|
||||
initializers
|
||||
{
|
||||
emit_from_point
|
||||
{
|
||||
init_particles 100
|
||||
spawn_radius 10
|
||||
particle_lifetime "100 200" // range
|
||||
}
|
||||
}
|
||||
operators
|
||||
{
|
||||
basic_movement
|
||||
{
|
||||
gravity "0 -10 0"
|
||||
drag 0.001
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user