FlameParticle

所属分类:游戏
开发工具:C/C++
文件大小:23204KB
下载次数:9
上传日期:2018-01-24 12:48:39
上 传 者天琊
说明:  OpenGL,GLSL,火焰粒子系统,在shader中实现,利用OpenGL的transform feedback特性。
(Flame Particle System)

文件列表:
FlameParticle\.vs\FlameParticle\v14\.suo (40448, 2018-01-04)
FlameParticle\Debug\FlameParticle.exe (292864, 2017-12-29)
FlameParticle\Debug\FlameParticle.ilk (1016648, 2017-12-29)
FlameParticle\Debug\FlameParticle.pdb (1994752, 2017-12-29)
FlameParticle\Debug\freeglut.dll (218624, 2015-10-14)
FlameParticle\Debug\glew32.dll (337408, 2015-10-14)
FlameParticle\Debug\glewinfo.exe (350720, 2015-10-14)
FlameParticle\Debug\glfw3.dll (43520, 2015-10-14)
FlameParticle\Debug\visualinfo.exe (222720, 2015-10-14)
FlameParticle\FlameParticle\Camera.cpp (2447, 2017-12-29)
FlameParticle\FlameParticle\Camera.h (1198, 2017-12-29)
FlameParticle\FlameParticle\Debug\Camera.obj (72717, 2017-12-29)
FlameParticle\FlameParticle\Debug\Flame.obj (175529, 2017-12-29)
FlameParticle\FlameParticle\Debug\FlameParticle.log (2384, 2017-12-29)
FlameParticle\FlameParticle\Debug\FlameParticle.tlog\CL.command.1.tlog (10642, 2017-12-29)
FlameParticle\FlameParticle\Debug\FlameParticle.tlog\CL.read.1.tlog (150268, 2017-12-29)
FlameParticle\FlameParticle\Debug\FlameParticle.tlog\CL.write.1.tlog (6496, 2017-12-29)
FlameParticle\FlameParticle\Debug\FlameParticle.tlog\FlameParticle.lastbuildstate (214, 2017-12-29)
FlameParticle\FlameParticle\Debug\FlameParticle.tlog\link.command.1.tlog (3302, 2017-12-29)
FlameParticle\FlameParticle\Debug\FlameParticle.tlog\link.read.1.tlog (5452, 2017-12-29)
FlameParticle\FlameParticle\Debug\FlameParticle.tlog\link.write.1.tlog (1394, 2017-12-29)
FlameParticle\FlameParticle\Debug\floor.obj (140270, 2017-12-29)
FlameParticle\FlameParticle\Debug\Fountain.obj (170630, 2017-12-29)
FlameParticle\FlameParticle\Debug\main.obj (150467, 2017-12-29)
FlameParticle\FlameParticle\Debug\shader.obj (393644, 2017-12-29)
FlameParticle\FlameParticle\Debug\stb_image.obj (325346, 2017-12-29)
FlameParticle\FlameParticle\Debug\texture.obj (105390, 2017-12-29)
FlameParticle\FlameParticle\Debug\vc140.idb (936960, 2017-12-29)
FlameParticle\FlameParticle\Debug\vc140.pdb (610304, 2017-12-29)
FlameParticle\FlameParticle\Flame.cpp (8672, 2018-01-04)
FlameParticle\FlameParticle\Flame.h (2001, 2017-12-29)
FlameParticle\FlameParticle\FlameParticle.vcxproj (11221, 2017-12-29)
FlameParticle\FlameParticle\FlameParticle.vcxproj.filters (1850, 2017-12-29)
FlameParticle\FlameParticle\FlameParticle.vcxproj.user (223, 2017-12-29)
FlameParticle\FlameParticle\main.cpp (3538, 2018-01-04)
FlameParticle\FlameParticle\packages.config (292, 2017-12-29)
FlameParticle\FlameParticle\Release\Camera.obj (1040094, 2017-12-29)
FlameParticle\FlameParticle\Release\Flame.obj (1177749, 2018-01-04)
FlameParticle\FlameParticle\Release\FlameParticle.log (1517, 2018-01-04)
FlameParticle\FlameParticle\Release\FlameParticle.tlog\CL.command.1.tlog (8098, 2018-01-04)
... ...

![glm](doc/logo.png) [OpenGL Mathematics](http://glm.g-truc.net/) (*GLM*) is a header only C++ mathematics library for graphics software based on the [OpenGL Shading Language (GLSL) specifications](https://www.opengl.org/registry/doc/GLSLangSpec.4.50.diff.pdf). *GLM* provides classes and functions designed and implemented with the same naming conventions and functionalities than *GLSL* so that anyone who knows *GLSL*, can use *GLM* as well in C++. This project isn't limited to *GLSL* features. An extension system, based on the *GLSL* extension conventions, provides extended capabilities: matrix transformations, quaternions, data packing, random numbers, noise, etc... This library works perfectly with *[OpenGL](https://www.opengl.org)* but it also ensures interoperability with other third party libraries and SDK. It is a good candidate for software rendering (raytracing / rasterisation), image processing, physic simulations and any development context that requires a simple and convenient mathematics library. *GLM* is written in C++*** but can take advantage of C++11 when supported by the compiler. It is a platform independent library with no dependence and it officially supports the following compilers: - [Apple Clang 4.0](https://developer.apple.com/library/mac/documentation/CompilerTools/Conceptual/LLVMCompilerOverview/index.html) and higher - [GCC](http://gcc.gnu.org/) 4.2 and higher - [Intel C++ Composer](https://software.intel.com/en-us/intel-compilers) XE 2013 and higher - [LLVM](http://llvm.org/) 3.0 and higher - [Visual C++](http://www.visualstudio.com/) 2010 and higher - [CUDA](https://developer.nvidia.com/about-cuda) 4.0 and higher (experimental) - Any conform C++*** or C++11 compiler For more information about *GLM*, please have a look at the [manual](http://glm.g-truc.net/0.9.7/glm-0.9.7.pdf) and the [API reference documentation](http://glm.g-truc.net/0.9.7/api/index.html). The source code and the documentation are licensed under the [Happy Bunny License (Modified MIT) or the MIT License](./copying.txt). Thanks for contributing to the project by [submitting issues](https://github.com/g-truc/glm/issues) for bug reports and feature requests. Any feedback is welcome at [glm@g-truc.net](mailto://glm@g-truc.net). ```c++ #include // glm::vec3 #include // glm::vec4 #include // glm::mat4 #include // glm::translate, glm::rotate, glm::scale, glm::perspective #include // glm::pi glm::mat4 camera(float Translate, glm::vec2 const & Rotate) { glm::mat4 Projection = glm::perspective(glm::pi() * 0.25f, 4.0f / 3.0f, 0.1f, 100.f); glm::mat4 View = glm::translate(glm::mat4(1.0f), glm::vec3(0.0f, 0.0f, -Translate)); View = glm::rotate(View, Rotate.y, glm::vec3(-1.0f, 0.0f, 0.0f)); View = glm::rotate(View, Rotate.x, glm::vec3(0.0f, 1.0f, 0.0f)); glm::mat4 Model = glm::scale(glm::mat4(1.0f), glm::vec3(0.5f)); return Projection * View * Model; } ``` ## Project Health | Service | System | Compiler | Status | | ------- | ------ | -------- | ------ | | [Drone](https://drone.io/github.com/g-truc/glm) | Linux *** bits | GCC 4.6.3 | [![Build Status](https://drone.io/github.com/g-truc/glm/status.png)](https://drone.io/github.com/g-truc/glm/latest) | ## [Lastest release](https://github.com/g-truc/glm/releases/latest) ## Release notes #### [GLM 0.9.8.4](https://github.com/g-truc/glm/releases/tag/0.9.8.4) - 2017-01-22 ##### Fixes: - Fixed GTC_packing test failing on GCC x86 due to denorms #212 #577 - Fixed POPCNT optimization build in Clang #512 - Fixed intersectRayPlane returns true in parallel case #578 - Fixed GCC 6.2 compiler warnings #580 - Fixed GTX_matrix_decompose decompose #582 #448 - Fixed GCC 4.5 and older build #566 - Fixed Visual C++ internal error when declaring a global vec type with siwzzle expression enabled #594 - Fixed GLM_FORCE_CXX11 with Clang and libstlc++ which wasn't using C++11 STL features. #604 #### [GLM 0.9.8.3](https://github.com/g-truc/glm/releases/tag/0.9.8.3) - 2016-11-12 ##### Improvements: - Broader support of GLM_FORCE_UNRESTRICTED_GENTYPE #378 ##### Fixes: - Fixed Android build error with C++11 compiler but C++*** STL #284 #5*** - Fixed GTX_transform2 shear* functions #403 - Fixed interaction between GLM_FORCE_UNRESTRICTED_GENTYPE and ortho function #568 - Fixed bitCount with AVX on 32 bit builds #567 - Fixed CMake find_package with version specification #572 #573 #### [GLM 0.9.8.2](https://github.com/g-truc/glm/releases/tag/0.9.8.2) - 2016-11-01 ##### Improvements: - Added Visual C++ 15 detection - Added Clang 4.0 detection - Added warning messages when using GLM_FORCE_CXX** but the compiler is known to not fully support the requested C++ version #555 - Refactored GLM_COMPILER_VC values - Made quat, vec, mat type component length() static #565 ##### Fixes: - Fixed Visual C++ constexpr build error #555, #556 #### [GLM 0.9.8.1](https://github.com/g-truc/glm/releases/tag/0.9.8.1) - 2016-09-25 ##### Improvements: - Optimized quaternion log function #554 ##### Fixes: - Fixed GCC warning filtering, replaced -pedantic by -Wpedantic - Fixed SIMD faceforward bug. #549 - Fixed GCC 4.8 with C++11 compilation option #550 - Fixed Visual Studio aligned type W4 warning #548 - Fixed packing/unpacking function fixed for 5_6_5 and 5_5_5_1 #552 #### [GLM 0.9.8.0](https://github.com/g-truc/glm/releases/tag/0.9.8.0) - 2016-09-11 ##### Features: - Added right and left handed projection and clip control support #447 #415 #119 - Added compNormalize and compScale functions to GTX_component_wise - Added packF3x9_E1x5 and unpackF3x9_E1x5 to GTC_packing for RGB9E5 #416 - Added (un)packHalf to GTC_packing - Added (un)packUnorm and (un)packSnorm to GTC_packing - Added 16bit pack and unpack to GTC_packing - Added 8bit pack and unpack to GTC_packing - Added missing bvec* && and || operators - Added iround and uround to GTC_integer, fast round on positive values - Added raw SIMD API - Added 'aligned' qualifiers - Added GTC_type_aligned with aligned *vec* types - Added GTC_functions extension - Added quaternion version of isnan and isinf #521 - Added lowestBitValue to GTX_bit #536 - Added GLM_FORCE_UNRESTRICTED_GENTYPE allowing non basic genType #543 ##### Improvements: - Improved SIMD and swizzle operators interactions with GCC and Clang #474 - Improved GTC_random linearRand documentation - Improved GTC_reciprocal documentation - Improved GLM_FORCE_EXPLICIT_CTOR coverage #481 - Improved OpenMP support detection for Clang, GCC, ICC and VC - Improved GTX_wrap for SIMD friendliness - Added constexpr for *vec*, *mat*, *quat* and *dual_quat* types #493 - Added NEON instruction set detection - Added MIPS CPUs detection - Added PowerPC CPUs detection - Use Cuda built-in function for abs function implementation with Cuda compiler - Factorized GLM_COMPILER_LLVM and GLM_COMPILER_APPLE_CLANG into GLM_COMPILER_CLANG - No more warnings for use of long long - Added more information to build messages ##### Fixes: - Fixed GTX_extended_min_max filename typo #386 - Fixed intersectRayTriangle to not do any unintentional backface culling - Fixed long long warnings when using C++*** on GCC and Clang #482 - Fixed sign with signed integer function on non-x86 architecture - Fixed strict aliasing warnings #473 - Fixed missing vec1 overload to length2 and distance2 functions #431 - Fixed GLM test '/fp:fast' and '/Za' command-line options are incompatible - Fixed quaterion to mat3 cast function mat3_cast from GTC_quaternion #542 - Fixed GLM_GTX_io for Cuda #547 #546 ##### Deprecation: - Removed GLM_FORCE_SIZE_FUNC define - Deprecated GLM_GTX_simd_vec4 extension - Deprecated GLM_GTX_simd_mat4 extension - Deprecated GLM_GTX_simd_quat extension - Deprecated GLM_SWIZZLE, use GLM_FORCE_SWIZZLE instead - Deprecated GLM_MESSAGES, use GLM_FORCE_MESSAGES instead -------------------------------------------------------------------------------- #### [GLM 0.9.7.6](https://github.com/g-truc/glm/releases/tag/0.9.7.6) - 2016-07-16 ##### Improvements: - Added pkg-config file #509 - Updated list of compiler versions detected - Improved C++ 11 STL detection #523 ##### Fixes: - Fixed STL for C++11 detection on ICC #510 - Fixed missing vec1 overload to length2 and distance2 functions #431 - Fixed long long warnings when using C++*** on GCC and Clang #482 - Fixed scalar reciprocal functions (GTC_reciprocal) #520 -------------------------------------------------------------------------------- #### [GLM 0.9.7.5](https://github.com/g-truc/glm/releases/tag/0.9.7.5) - 2016-05-24 ##### Improvements: - Added Visual C++ Clang toolset detection ##### Fixes: - Fixed uaddCarry warning #497 - Fixed roundPowerOfTwo and floorPowerOfTwo #503 - Fixed Visual C++ SIMD instruction set automatic detection in *** bits - Fixed to_string when used with GLM_FORCE_INLINE #506 - Fixed GLM_FORCE_INLINE with binary vec4 operators - Fixed GTX_extended_min_max filename typo #386 - Fixed intersectRayTriangle to not do any unintentional backface culling -------------------------------------------------------------------------------- #### [GLM 0.9.7.4](https://github.com/g-truc/glm/releases/tag/0.9.7.4) - 2016-03-19 ##### Fixes: - Fixed asinh and atanh warning with C++*** STL #484 - Fixed polar coordinates function latitude #485 - Fixed outerProduct defintions and operator signatures for mat2x4 and vec4 #475 - Fixed eulerAngles precision error, returns NaN #451 - Fixed undefined reference errors #489 - Fixed missing GLM_PLATFORM_CYGWIN declaration #495 - Fixed various undefined reference errors #490 -------------------------------------------------------------------------------- #### [GLM 0.9.7.3](https://github.com/g-truc/glm/releases/tag/0.9.7.3) - 2016-02-21 ##### Improvements: - Added AVX512 detection ##### Fixes: - Fixed CMake policy warning - Fixed GCC 6.0 detection #477 - Fixed Clang build on Windows #479 - Fixed *** bits constants warnings on GCC #463 -------------------------------------------------------------------------------- #### [GLM 0.9.7.2](https://github.com/g-truc/glm/releases/tag/0.9.7.2) - 2016-01-03 ##### Fixes: - Fixed GTC_round floorMultiple/ceilMultiple #412 - Fixed GTC_packing unpackUnorm3x10_1x2 #414 - Fixed GTC_matrix_inverse affineInverse #192 - Fixed ICC on Linux build errors #449 - Fixed ldexp and frexp compilation errors - Fixed "Declaration shadows a field" warning #468 - Fixed 'GLM_COMPILER_VC2005 is not defined' warning #468 - Fixed various 'X is not defined' warnings #468 - Fixed missing unary + operator #435 - Fixed Cygwin build errors when using C++11 #405 -------------------------------------------------------------------------------- #### [GLM 0.9.7.1](https://github.com/g-truc/glm/releases/tag/0.9.7.1) - 2015-09-07 ##### Improvements: - Improved constexpr for constant functions coverage #1*** - Added to_string for quat and dual_quat in GTX_string_cast #375 - Improved overall execution time of unit tests #396 ##### Fixes: - Fixed strict alignment warnings #235 #370 - Fixed link errors on compilers not supported default function #377 - Fixed compilation warnings in vec4 - Fixed non-identity quaternions for equal vectors #234 - Fixed excessive GTX_fast_trigonometry execution time #396 - Fixed Visual Studio 2015 'hides class member' warnings #394 - Fixed builtin bitscan never being used #392 - Removed unused func_noise.* files #3*** -------------------------------------------------------------------------------- #### [GLM 0.9.7.0](https://github.com/g-truc/glm/releases/tag/0.9.7.0) - 2015-08-02 ##### Features: - Added GTC_color_space: convertLinearToSRGB and convertSRGBToLinear functions - Added 'fmod' overload to GTX_common with tests #308 - Left handed perspective and lookAt functions #314 - Added functions eulerAngleXYZ and extractEulerAngleXYZ #311 - Added to perform std::hash on GLM types #320 #367 - Added for texcoord wrapping - Added static components and precision members to all vector and quat types #350 - Added .gitignore #349 - Added support of defaulted functions to GLM types, to use them in unions #366 ##### Improvements: - Changed usage of __has_include to support Intel compiler #307 - Specialized integer implementation of YCoCg-R #310 - Don't show status message in 'FindGLM' if 'QUIET' option is set. #317 - Added master branch continuous integration service on Linux *** #332 - Clarified manual regarding angle unit in GLM, added FAQ 11 #326 - Updated list of compiler versions ##### Fixes: - Fixed default precision for quat and dual_quat type #312 - Fixed (u)int*** MSB/LSB handling on BE archs #306 - Fixed multi-line comment warning in g++. #315 - Fixed specifier removal by 'std::make_pair<>' #333 - Fixed perspective fovy argument documentation #327 - Removed -m*** causing build issues on Linux 32 #331 - Fixed isfinite with C++*** compilers #343 - Fixed Intel compiler build error on Linux #354 - Fixed use of libstdc++ with Clang #351 - Fixed quaternion pow #346 - Fixed decompose warnings #373 - Fixed matrix conversions #371 ##### Deprecation: - Removed integer specification for 'mod' in GTC_integer #308 - Removed GTX_multiple, replaced by GTC_round -------------------------------------------------------------------------------- #### [GLM 0.9.6.3](https://github.com/g-truc/glm/releases/tag/0.9.6.3) - 2015-02-15 - Fixed Android doesn't have C++ 11 STL #284 -------------------------------------------------------------------------------- #### [GLM 0.9.6.2](https://github.com/g-truc/glm/releases/tag/0.9.6.2) - 2015-02-15 ##### Features: - Added display of GLM version with other GLM_MESSAGES - Added ARM instruction set detection -------------------------------------------------------------------------------- ##### Improvements: - Removed assert for perspective with zFar < zNear #2*** - Added Visual Studio natvis support for vec1, quat and dualqual types - Cleaned up C++11 feature detections - Clarify GLM licensing ##### Fixes: - Fixed faceforward build #289 - Fixed conflict with Xlib #define True 1 #293 - Fixed decompose function VS2010 templating issues #294 - Fixed mat4x3 = mat2x3 * mat4x2 operator #297 - Fixed warnings in F2x11_1x10 packing function in GTC_packing #295 - Fixed Visual Studio natvis support for vec4 #288 - Fixed GTC_packing *pack*norm*x* build and added tests #292 - Disabled GTX_scalar_multiplication for GCC, failing to build tests #242 - Fixed Visual C++ 2015 constexpr errors: Disabled only partial support - Fixed functions not inlined with Clang #302 - Fixed memory corruption (undefined behaviour) #303 -------------------------------------------------------------------------------- #### [GLM 0.9.6.1](https://github.com/g-truc/glm/releases/tag/0.9.6.1) - 2014-12-10 ##### Features: - Added GLM_LANG_CXX14_FLAG and GLM_LANG_CXX1Z_FLAG language feature flags - Added C++14 detection ##### Improvements: - Clean up GLM_MESSAGES compilation log to report only detected capabilities ##### Fixes: - Fixed scalar uaddCarry build error with Cuda #276 - Fixed C++11 explicit conversion operators detection #282 - Fixed missing explicit conversion when using integer log2 with *vec1 types - Fixed *** bits integer GTX_string_cast to_string on VC 32 bit compiler - Fixed Android build issue, STL C++11 is not supported by the NDK #284 - Fixed unsupported _BitScanForward*** and _BitScanReverse*** in VC10 - Fixed Visual C++ 32 bit build #283 - Fixed GLM_FORCE_SIZE_FUNC pragma message - Fixed C++*** only build - Fixed conflict between GTX_compatibility and GTC_quaternion #286 - Fixed C++ language restriction using GLM_FORCE_CXX** -------------------------------------------------------------------------------- #### [GLM 0.9.6.0](https://github.com/g-truc/glm/releases/tag/0.9.6.0) - 2014-11-30 ##### Features: - Exposed template vector and matrix types in 'glm' namespace #239, #244 - Added GTX_scalar_multiplication for C++ 11 compiler only #242 - Added GTX_range for C++ 11 compiler only #240 - Added closestPointOnLine function for tvec2 to GTX_closest_point #238 - Added GTC_vec1 extension, *vec1 support to *vec* types - Updated GTX_associated_min_max with vec1 support - Added support of precision and integers to linearRand #230 - Added Integer types support to GTX_string_cast #249 - Added vec3 slerp #237 - Added GTX_common with isdenomal #223 - Added GLM_FORCE_SIZE_FUNC to replace .length() by .size() #245 - Added GLM_FORCE_NO_CTOR_INIT - Added 'uninitialize' to explicitly not initialize a GLM type - Added GTC_bitfield extension, promoted GTX_bit - Added GTC_integer extension, promoted GTX_bit and GTX_integer - Added GTC_round extension, promoted GTX_bit - Added GLM_FORCE_EXPLICIT_CTOR to require explicit type conversions #269 - Added GTX_type_aligned for aligned vector, matrix and quaternion types ##### Improvements: - Rely on C++11 to implement isinf and isnan - Removed GLM_FORCE_CUDA, Cuda is implicitly detected - Separated Apple Clang and LLVM compiler detection - Used pragma once - Undetected C++ compiler automatically compile with GLM_FORCE_CXX*** and GLM_FORCE_PURE - Added not function (from GLSL specification) on VC12 - Optimized bitfieldReverse and bitCount functions - Optimized findLSB and findMSB functions. - Optimized matrix-vector multiple performance with Cuda #257, #258 - Reduced integer type redifinitions #233 - Rewrited of GTX_fast_trigonometry #2*** #265 - Made types trivially copyable #263 - Removed in GLM tests - Used std features within GLM without redeclaring - Optimized cot function #272 - Optimized sign function #272 - Added explicit cast from quat to mat3 and mat4 #275 ##### Fixes: - Fixed std::nextafter not supported with C++11 on Android #217 - Fixed missing value_type for dual quaternion - Fixed return type of dual quaternion length - Fixed infinite loop in isfinite function with GCC #221 - Fixed Visual Studio 14 compiler warnings - Fixed implicit conversion from another tvec2 type to another tvec2 #241 - Fixed lack of consistency of quat and dualquat constructors - Fixed uaddCarray #253 - Fixed float comparison warnings #270 ##### Deprecation: - Removed degrees for function parameters - Removed GLM_FORCE_RADIANS, active by default - Removed VC 2005 / 8 and 2008 / 9 support - Removed GCC 3.4 to 4.3 support - Removed LLVM GCC support - Removed LLVM 2.6 to 3.1 support - Removed CUDA 3.0 to 3.2 support -------------------------------------------------------------------------------- #### [GLM 0.9.5.4 - 2014-06-21](https://github.com/g-truc/glm/releases/tag/0.9.5.4) - Fixed non-utf8 character #196 - Added FindGLM install for CMake #189 - Fixed GTX_color_space - saturation #195 - Fixed glm::isinf and glm::isnan for with Android NDK 9d #191 - Fixed builtin GLM_ARCH_SSE4 #204 - Optimized Quaternion vector rotation #205 - Fixed missing doxygen @endcond tag #211 - Fixed instruction set detection with Clang #158 - Fixed orientate3 function #207 - Fixed lerp when cosTheta is close to 1 in quaternion slerp #210 - Added GTX_io for io with #144 - Fixed fastDistance ambiguity #215 - Fixed tweakedInfinitePerspective #208 and added user-defined epsilon to ... ...

近期下载者

相关文件


收藏者