<commit_before>﻿
#ifndef __EFFEKSEERRENDERER_STANDARD_RENDERER_BASE_H__
#define __EFFEKSEERRENDERER_STANDARD_RENDERER_BASE_H__

#include <Effekseer.h>
#include <vector>
#include <algorithm>
#include <functional>

#include "EffekseerRenderer.CommonUtils.h"
#include "EffekseerRenderer.Renderer.h"
#include "EffekseerRenderer.VertexBufferBase.h"
#include "EffekseerRenderer.Renderer_Impl.h"

//-----------------------------------------------------------------------------------
//
//-----------------------------------------------------------------------------------
namespace EffekseerRenderer
{
//----------------------------------------------------------------------------------
//
//----------------------------------------------------------------------------------

struct StandardRendererState
{
	bool DepthTest;
	bool DepthWrite;
	bool Distortion;
	float DistortionIntensity;
	bool Wireframe;
	bool Refraction;

	::Effekseer::AlphaBlendType AlphaBlend;
	::Effekseer::CullingType CullingType;
	::Effekseer::TextureFilterType TextureFilter1;
	::Effekseer::TextureWrapType TextureWrap1;
	::Effekseer::TextureFilterType TextureFilter2;
	::Effekseer::TextureWrapType TextureWrap2;
#ifdef __EFFEKSEER_BUILD_VERSION16__
	::Effekseer::TextureFilterType TextureFilter3;
	::Effekseer::TextureWrapType TextureWrap3;
#endif
	::Effekseer::TextureData* TexturePtr;
	::Effekseer::TextureData* NormalTexturePtr;
#ifdef __EFFEKSEER_BUILD_VERSION16__
	::Effekseer::TextureData* AlphaTexturePtr;
#endif

#ifdef __EFFEKSEER_BUILD_VERSION16__
	int32_t EnableInterpolation;
	int32_t UVLoopType;
	int32_t InterpolationType;
	int32_t FlipbookDivideX;
	int32_t FlipbookDivideY;
#endif

	::Effekseer::RendererMaterialType MaterialType;
	::Effekseer::MaterialData* MaterialPtr;
	int32_t MaterialUniformCount = 0;
	std::array<std::array<float, 4>, 16> MaterialUniforms;
	int32_t MaterialTextureCount = 0;
	std::array<::Effekseer::TextureData*, 16> MaterialTextures;
	int32_t CustomData1Count = 0;
	int32_t CustomData2Count = 0;

	StandardRendererState()
	{
		DepthTest = false;
		DepthWrite = false;
		Distortion = false;
		DistortionIntensity = 1.0f;
		Wireframe = true;
		Refraction = false;

		AlphaBlend = ::Effekseer::AlphaBlendType::Blend;
		CullingType = ::Effekseer::CullingType::Front;
		TextureFilter1 = ::Effekseer::TextureFilterType::Nearest;
		TextureWrap1 = ::Effekseer::TextureWrapType::Repeat;
		TextureFilter2 = ::Effekseer::TextureFilterType::Nearest;
		TextureWrap2 = ::Effekseer::TextureWrapType::Repeat;
#ifdef __EFFEKSEER_BUILD_VERSION16__
		TextureFilter3 = ::Effekseer::TextureFilterType::Nearest;
		TextureWrap3 = ::Effekseer::TextureWrapType::Repeat;
#endif
		TexturePtr = nullptr;
		NormalTexturePtr = nullptr;
#ifdef __EFFEKSEER_BUILD_VERSION16__
		AlphaTexturePtr = nullptr;
#endif

#ifdef __EFFEKSEER_BUILD_VERSION16__
		EnableInterpolation = 0;
		UVLoopType = 0;
		InterpolationType = 0;
		FlipbookDivideX = 0;
		FlipbookDivideY = 0;
#endif

		MaterialPtr = nullptr;

		MaterialType = ::Effekseer::RendererMaterialType::Default;
		MaterialPtr = nullptr;
		MaterialUniformCount = 0;
		MaterialTextureCount = 0;
		CustomData1Count = 0;
		CustomData2Count = 0;
	}

	bool operator!=(const StandardRendererState state)
	{
		if (DepthTest != state.DepthTest)
			return true;
		if (DepthWrite != state.DepthWrite)
			return true;
		if (Distortion != state.Distortion)
			return true;
		if (DistortionIntensity != state.DistortionIntensity)
			return true;
		if (AlphaBlend != state.AlphaBlend)
			return true;
		if (CullingType != state.CullingType)
			return true;
		if (TextureFilter1 != state.TextureFilter1)
			return true;
		if (TextureWrap1 != state.TextureWrap1)
			return true;
		if (TextureFilter2 != state.TextureFilter2)
			return true;
		if (TextureWrap2 != state.TextureWrap2)
			return true;
#ifdef __EFFEKSEER_BUILD_VERSION16__
		if (TextureFilter3 != state.TextureFilter3)
			return true;
		if (TextureWrap3 != state.TextureWrap3)
			return true;
#endif
		if (TexturePtr != state.TexturePtr)
			return true;
		if (NormalTexturePtr != state.TexturePtr)<commit_msg>Fix a bug that particles are not batched<commit_after>﻿
#ifndef __EFFEKSEERRENDERER_STANDARD_RENDERER_BASE_H__
#define __EFFEKSEERRENDERER_STANDARD_RENDERER_BASE_H__

#include <Effekseer.h>
#include <vector>
#include <algorithm>
#include <functional>

#include "EffekseerRenderer.CommonUtils.h"
#include "EffekseerRenderer.Renderer.h"
#include "EffekseerRenderer.VertexBufferBase.h"
#include "EffekseerRenderer.Renderer_Impl.h"

//-----------------------------------------------------------------------------------
//
//-----------------------------------------------------------------------------------
namespace EffekseerRenderer
{
//----------------------------------------------------------------------------------
//
//----------------------------------------------------------------------------------

struct StandardRendererState
{
	bool DepthTest;
	bool DepthWrite;
	bool Distortion;
	float DistortionIntensity;
	bool Wireframe;
	bool Refraction;

	::Effekseer::AlphaBlendType AlphaBlend;
	::Effekseer::CullingType CullingType;
	::Effekseer::TextureFilterType TextureFilter1;
	::Effekseer::TextureWrapType TextureWrap1;
	::Effekseer::TextureFilterType TextureFilter2;
	::Effekseer::TextureWrapType TextureWrap2;
#ifdef __EFFEKSEER_BUILD_VERSION16__
	::Effekseer::TextureFilterType TextureFilter3;
	::Effekseer::TextureWrapType TextureWrap3;
#endif
	::Effekseer::TextureData* TexturePtr;
	::Effekseer::TextureData* NormalTexturePtr;
#ifdef __EFFEKSEER_BUILD_VERSION16__
	::Effekseer::TextureData* AlphaTexturePtr;
#endif

#ifdef __EFFEKSEER_BUILD_VERSION16__
	int32_t EnableInterpolation;
	int32_t UVLoopType;
	int32_t InterpolationType;
	int32_t FlipbookDivideX;
	int32_t FlipbookDivideY;
#endif

	::Effekseer::RendererMaterialType MaterialType;
	::Effekseer::MaterialData* MaterialPtr;
	int32_t MaterialUniformCount = 0;
	std::array<std::array<float, 4>, 16> MaterialUniforms;
	int32_t MaterialTextureCount = 0;
	std::array<::Effekseer::TextureData*, 16> MaterialTextures;
	int32_t CustomData1Count = 0;
	int32_t CustomData2Count = 0;

	StandardRendererState()
	{
		DepthTest = false;
		DepthWrite = false;
		Distortion = false;
		DistortionIntensity = 1.0f;
		Wireframe = true;
		Refraction = false;

		AlphaBlend = ::Effekseer::AlphaBlendType::Blend;
		CullingType = ::Effekseer::CullingType::Front;
		TextureFilter1 = ::Effekseer::TextureFilterType::Nearest;
		TextureWrap1 = ::Effekseer::TextureWrapType::Repeat;
		TextureFilter2 = ::Effekseer::TextureFilterType::Nearest;
		TextureWrap2 = ::Effekseer::TextureWrapType::Repeat;
#ifdef __EFFEKSEER_BUILD_VERSION16__
		TextureFilter3 = ::Effekseer::TextureFilterType::Nearest;
		TextureWrap3 = ::Effekseer::TextureWrapType::Repeat;
#endif
		TexturePtr = nullptr;
		NormalTexturePtr = nullptr;
#ifdef __EFFEKSEER_BUILD_VERSION16__
		AlphaTexturePtr = nullptr;
#endif

#ifdef __EFFEKSEER_BUILD_VERSION16__
		EnableInterpolation = 0;
		UVLoopType = 0;
		InterpolationType = 0;
		FlipbookDivideX = 0;
		FlipbookDivideY = 0;
#endif

		MaterialPtr = nullptr;

		MaterialType = ::Effekseer::RendererMaterialType::Default;
		MaterialPtr = nullptr;
		MaterialUniformCount = 0;
		MaterialTextureCount = 0;
		CustomData1Count = 0;
		CustomData2Count = 0;
	}

	bool operator!=(const StandardRendererState state)
	{
		if (DepthTest != state.DepthTest)
			return true;
		if (DepthWrite != state.DepthWrite)
			return true;
		if (Distortion != state.Distortion)
			return true;
		if (DistortionIntensity != state.DistortionIntensity)
			return true;
		if (AlphaBlend != state.AlphaBlend)
			return true;
		if (CullingType != state.CullingType)
			return true;
		if (TextureFilter1 != state.TextureFilter1)
			return true;
		if (TextureWrap1 != state.TextureWrap1)
			return true;
		if (TextureFilter2 != state.TextureFilter2)
			return true;
		if (TextureWrap2 != state.TextureWrap2)
			return true;
#ifdef __EFFEKSEER_BUILD_VERSION16__
		if (TextureFilter3 != state.TextureFilter3)
			return true;
		if (TextureWrap3 != state.TextureWrap3)
			return true;
#endif
		if (TexturePtr != state.TexturePtr)
			return true;
		if (NormalTexturePtr != state.NormalTexturePtr)
{'fraction_non_alphanumeric': 0.1738069083363847, 'fraction_numerical': 0.019528866105211765, 'mean_word_length': 3.854265402843602, 'pattern_counts': {'":': 0, '<': 17, '<?xml version=': 0, '>': 17, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '3523361', 'n_tokens_mistral': 2940, 'n_tokens_neox': 2724, 'n_words': 494}