您当前的位置:首页 > IT编程 > C++
| C语言 | Java | VB | VC | python | Android | TensorFlow | C++ | oracle | 学术与代码 | cnn卷积神经网络 | gnn | 图像修复 | Keras | 数据集 | Neo4j | 自然语言处理 | 深度学习 | 医学CAD | 医学影像 | 超参数 | pointnet | pytorch | 异常检测 | Transformers | 情感分类 | 知识图谱 |

自学教程:C++ vector2f函数代码示例

51自学网 2021-06-03 09:36:50
  C++
这篇教程C++ vector2f函数代码示例写得很实用,希望能帮到您。

本文整理汇总了C++中vector2f函数的典型用法代码示例。如果您正苦于以下问题:C++ vector2f函数的具体用法?C++ vector2f怎么用?C++ vector2f使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。

在下文中一共展示了vector2f函数的26个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。

示例1: attraction

inline Vector2f VectorLocalization2D::attractorFunction(line2f l, Vector2f p, float attractorRange, float margin){  static const bool debug = false;    Vector2f attraction(0.0,0.0), dir(V2COMP(l.Dir())), p0(V2COMP(l.P0())), p1(V2COMP(l.P1()));    float location = (p-p0).dot(dir);    if(location<-margin || location>l.Length()+margin){    return attraction;  }    attraction = (p-p0) - dir*location ;    float d = attraction.norm();  /*  if(d>0.5*attractorRange){    float d2 = max(0.0f, attractorRange - d);    attraction *= 2.0f*d2/attractorRange;  }  */  if(d>attractorRange){    attraction = Vector2f::Zero();  }  if(debug){    debugLines.push_back( line2f( vector2f(p.x(),p.y()) ,vector2f((p-attraction).x(),(p-attraction).y()) ) );  }  return attraction;}
开发者ID:iglesias,项目名称:cgr_localization,代码行数:29,


示例2: GetSize

void SystemInfoView::BodyIcon::Draw(){	Gui::ImageRadioButton::Draw();	if (!GetSelected() && !HasStarport()) return;	float size[2];	GetSize(size);	if (HasStarport()) {	    Color portColor = Color(64, 128, 128, 255);	    // The -0.1f offset seems to be the best compromise to make the circles closed (e.g. around Mars), symmetric, fitting with selection	    // and not overlapping to much with asteroids	    Graphics::Drawables::Circle circle =			Graphics::Drawables::Circle(size[0]*0.5f, size[0]*0.5f-0.1f, size[1]*0.5f, 0.f,			portColor, m_renderState);	    circle.Draw(m_renderer);	}	if (GetSelected()) {	    const vector2f vts[] = {		    vector2f(0.f, 0.f),		    vector2f(size[0], 0.f),		    vector2f(size[0], size[1]),		    vector2f(0.f, size[1]),	    };	    m_renderer->DrawLines2D(COUNTOF(vts), vts, m_selectColor, m_renderState, Graphics::LINE_LOOP);	}}
开发者ID:Wuzzy2,项目名称:pioneer,代码行数:25,


示例3: vector2f

void UIImage9::setLocation(const aabox2f &rect) {	m_rect[4].min_corner = rect.min_corner + vector2f(m_widthLeft, m_heightTop);	m_rect[4].max_corner = rect.max_corner - vector2f(m_widthRight, m_heightBottom);		m_rect[0].min_corner = rect.min_corner;	m_rect[0].max_corner = m_rect[4].min_corner;		m_rect[1].min_corner.set(m_rect[4].min_corner.x, rect.min_corner.y);	m_rect[1].max_corner.set(m_rect[4].max_corner.x, m_rect[4].min_corner.y);		m_rect[2].min_corner.set(m_rect[4].max_corner.x, rect.min_corner.y);	m_rect[2].max_corner.set(rect.max_corner.x, m_rect[4].min_corner.y);		m_rect[3].min_corner.set(rect.min_corner.x, m_rect[4].min_corner.y);	m_rect[3].max_corner.set(m_rect[4].min_corner.x, m_rect[4].max_corner.y);		m_rect[5].min_corner.set(m_rect[4].max_corner.x, m_rect[4].min_corner.y);	m_rect[5].max_corner.set(rect.max_corner.x, m_rect[4].max_corner.y);		m_rect[6].min_corner.set(rect.min_corner.x, m_rect[4].max_corner.y);	m_rect[6].max_corner.set(m_rect[4].min_corner.x, rect.max_corner.y);		m_rect[7].min_corner.set(m_rect[4].min_corner.x, m_rect[4].max_corner.y);	m_rect[7].max_corner.set(m_rect[4].max_corner.x, rect.max_corner.y);		m_rect[8].min_corner = m_rect[4].max_corner;	m_rect[8].max_corner = rect.max_corner;}
开发者ID:signorinotang,项目名称:vn2d,代码行数:28,


示例4: GetActiveOffset

void Face::Draw(){	const Point &offset = GetActiveOffset();	const Point &area = GetActiveArea();	const float x = offset.x;	const float y = offset.y;	const float sx = area.x;	const float sy = area.y;	const vector2f texSize = m_texture->GetDescriptor().texSize;	Graphics::VertexArray va(Graphics::ATTRIB_POSITION | Graphics::ATTRIB_UV0);	va.Add(vector3f(x,    y,    0.0f), vector2f(0.0f,      0.0f));	va.Add(vector3f(x,    y+sy, 0.0f), vector2f(0.0f,      texSize.y));	va.Add(vector3f(x+sx, y,    0.0f), vector2f(texSize.x, 0.0f));	va.Add(vector3f(x+sx, y+sy, 0.0f), vector2f(texSize.x, texSize.y));	Graphics::Renderer *r = GetContext()->GetRenderer();	s_material->texture0 = m_texture.get();	auto state = GetContext()->GetSkin().GetAlphaBlendState();	r->DrawTriangles(&va, state, s_material.Get(), Graphics::TRIANGLE_STRIP);	Single::Draw();}
开发者ID:ZeframCochrane,项目名称:pioneer,代码行数:25,


示例5: GetSize

void Gradient::Draw(){	float size[2];	GetSize(size);	m_quad->Draw(Gui::Screen::GetRenderer(), vector2f(0.0f), vector2f(size[0],size[1]));}
开发者ID:GizmoR13,项目名称:pioneer,代码行数:7,


示例6: GetContext

void Face::Draw(){	Graphics::Renderer *r = GetContext()->GetRenderer();	if (!m_quad) {		const Point &offset = GetActiveOffset();		const Point &area = GetActiveArea();		const float x = offset.x;		const float y = offset.y;		const float sx = area.x;		const float sy = area.y;		const vector2f texSize = m_texture->GetDescriptor().texSize;		Graphics::VertexArray va(Graphics::ATTRIB_POSITION | Graphics::ATTRIB_UV0);		va.Add(vector3f(x, y, 0.0f), vector2f(0.0f, 0.0f));		va.Add(vector3f(x, y + sy, 0.0f), vector2f(0.0f, texSize.y));		va.Add(vector3f(x + sx, y, 0.0f), vector2f(texSize.x, 0.0f));		va.Add(vector3f(x + sx, y + sy, 0.0f), vector2f(texSize.x, texSize.y));		Graphics::Renderer *r = GetContext()->GetRenderer();		s_material->texture0 = m_texture.get();		auto state = GetContext()->GetSkin().GetAlphaBlendState();		m_quad.reset(new Graphics::Drawables::TexturedQuad(r, s_material, va, state));	}	m_quad->Draw(r);	Single::Draw();}
开发者ID:emptyhead,项目名称:pioneer,代码行数:29,


示例7: vector2f

	//-------------------------------------------------------------------------------------------------------	void SSAOPostEffect::Process( Engine& engine, const RenderTarget* const org, const RenderTarget* const scene, RenderTarget* const out )	{		engine.GetDevice()->DisableDepthTest();		engine.GetDevice()->DisableAlpha();		{			engine.GetDevice()->PushRenderTarget(m_pDownSimple_1);			SSAOShader& ssao = engine.GetShaderManage()->GetShader<SSAOShader>(ShaderManage::SSAOShader);			ssao.SetParamDepthTex( org->GetDepthBuffer() );			ssao.SetParamJitterTex( m_JitterTex );			ssao.SetParamNormalTex( engine.GetPipeline()->NormalRenderTarget()->GetColorBuffer() );			ssao.SetParamAOEdgeFinder( AOEdgeFinder );			ssao.SetParamAOIntensity( AOIntensity );			ssao.SetParamJitterAmount( JitterAmount );			ssao.SetParamStepSize( vector2f( 1.0 / m_pDownSimple_1->GetSize().m_x , 1.0 / m_pDownSimple_1->GetSize().m_y ) );			engine.GetDevice()->Draw( *m_pRendBuffer, ssao, NULL );			engine.GetDevice()->PopRenderTarget();		}		{//模糊			//x			engine.GetDevice()->PushRenderTarget(m_pDownSimple_2);			engine.GetDevice()->Clear( Device::COLOR_BUFFER );			Blur2x2Shader& bs = engine.GetShaderManage()->GetShader<Blur2x2Shader>(ShaderManage::Blur2x2Shader);			bs.SetParamColorTexture( m_pDownSimple_1->GetColorBuffer() );			bs.SetParamStepSize( vector2f( (1.0f / m_pDownSimple_2->GetSize().m_x) * GaussSpread, 0.0 ) );			bs.SetParamGaussWeight( GaussWeight );			engine.GetDevice()->Draw( *m_pRendBuffer, bs, NULL );			engine.GetDevice()->PopRenderTarget();			//y			engine.GetDevice()->PushRenderTarget(m_pDownSimple_1);			engine.GetDevice()->Clear( Device::COLOR_BUFFER );			bs.SetParamColorTexture( m_pDownSimple_2->GetColorBuffer() );			bs.SetParamStepSize( vector2f( 0.0, (1.0f / m_pDownSimple_1->GetSize().m_y) * GaussSpread ) );			bs.SetParamGaussWeight( GaussWeight );			engine.GetDevice()->Draw( *m_pRendBuffer, bs, NULL );			engine.GetDevice()->PopRenderTarget();		}		engine.GetDevice()->PushRenderTarget( out );//如果画在了输出上面,则需要更换输出,下一个pe就用另外一张rt		engine.GetDevice()->Clear( Device::COLOR_BUFFER );		if( 1 )		{			SSAOCombine& sc = engine.GetShaderManage()->GetShader<SSAOCombine>(ShaderManage::SSAOCombine);			sc.SetParamSceneTexture( scene->GetColorBuffer() );			sc.SetParamSSVOTexture( m_pDownSimple_1->GetColorBuffer() );			engine.GetDevice()->Draw( *m_pRendBuffer, sc, NULL );		}		else		{			QuadShader& qs = engine.GetShaderManage()->GetShader<QuadShader>(ShaderManage::QuadShader);			//engine.GetDevice()->Draw( *m_pRendBuffer, qs, engine.GetPipeline()->NormalRenderTarget()->GetColorBuffer() );			engine.GetDevice()->Draw( *m_pRendBuffer, qs, m_pDownSimple_1->GetColorBuffer() );		}		engine.GetDevice()->PopRenderTarget( );	}
开发者ID:RichardOpenGL,项目名称:Bohge_Engine,代码行数:60,


示例8: vector2f

void TextureBuilder::UpdateTexture(Texture *texture){	if( m_surface ) {		texture->Update(m_surface->pixels, vector2f(m_surface->w,m_surface->h), m_descriptor.format, 0);	} else {		assert(m_dds.headerdone_);		assert(m_descriptor.format == TEXTURE_DXT1 || m_descriptor.format == TEXTURE_DXT5);		texture->Update(m_dds.imgdata_.imgData, vector2f(m_dds.imgdata_.width,m_dds.imgdata_.height), m_descriptor.format, m_dds.imgdata_.numMipMaps);	}}
开发者ID:tnicoll,项目名称:pioneer,代码行数:10,


示例9: LoadSurface

void TextureBuilder::PrepareSurface(){	if (m_prepared) return;	if (!m_surface && m_filename.length() > 0)		LoadSurface();	TextureFormat targetTextureFormat;	SDL_PixelFormat *targetPixelFormat;	bool needConvert = !GetTargetFormat(m_surface->format, &targetTextureFormat, &targetPixelFormat, m_forceRGBA);	if (needConvert) {		SDL_Surface *s = SDL_ConvertSurface(m_surface, targetPixelFormat, SDL_SWSURFACE);		SDL_FreeSurface(m_surface);		m_surface = s;	}	unsigned int virtualWidth, actualWidth, virtualHeight, actualHeight;	virtualWidth = actualWidth = m_surface->w;	virtualHeight = actualHeight = m_surface->h;	if (m_potExtend) {		// extend to power-of-two if necessary		actualWidth = ceil_pow2(m_surface->w);		actualHeight = ceil_pow2(m_surface->h);		if (actualWidth != virtualWidth || actualHeight != virtualHeight) {			SDL_Surface *s = SDL_CreateRGBSurface(SDL_SWSURFACE, actualWidth, actualHeight, targetPixelFormat->BitsPerPixel,				targetPixelFormat->Rmask, targetPixelFormat->Gmask, targetPixelFormat->Bmask, targetPixelFormat->Amask);			SDL_SetAlpha(m_surface, 0, 0);			SDL_SetAlpha(s, 0, 0);			SDL_BlitSurface(m_surface, 0, s, 0);			SDL_FreeSurface(m_surface);			m_surface = s;		}	}	else if (m_filename.length() > 0) {		// power-of-to check		unsigned long width = ceil_pow2(m_surface->w);		unsigned long height = ceil_pow2(m_surface->h);		if (width != virtualWidth || height != virtualHeight)			fprintf(stderr, "WARNING: texture '%s' is not power-of-two and may not display correctly/n", m_filename.c_str());	}	m_descriptor = TextureDescriptor(		targetTextureFormat,		vector2f(actualWidth,actualHeight),		vector2f(float(virtualWidth)/float(actualWidth),float(virtualHeight)/float(actualHeight)),		m_sampleMode, m_generateMipmaps);		m_prepared = true;}
开发者ID:mightyzero,项目名称:pioneer,代码行数:55,


示例10: vector2f

//-------------------------------------------------------------------------------------------------------void BloomPS::Process(IDriver& driver, const RenderTarget* const org, const RenderTarget* const scene, RenderTarget* const out, bool& isSwitch){	float Range = 2; //控制模糊度	//降采样	//driver.PushRenderTarget(m_pDownSimple_1);	//driver.Clear( IDriver::COLOR_BUFFER );	//QuadShader& qs = driver.GetShaderManage().GetShader<QuadShader>(ShaderManage::QuadShader);	//driver.Draw( *m_pRendBuffer, qs, scene->GetColorBuffer() );	//driver.PopRenderTarget();	//流明化	driver.PushRenderTarget(m_pDownSimple_1);	driver.Clear( IDriver::COLOR_BUFFER );	Luminance& le = driver.GetShaderManage().GetShader<Luminance>(ShaderManage::Luminance);	driver.Draw( *m_pRendBuffer, le, scene->GetColorBuffer() );	driver.PopRenderTarget();	//x方向模糊	driver.PushRenderTarget(m_pDownSimple_2);	driver.Clear( IDriver::COLOR_BUFFER );	Gaussian& gauss = driver.GetShaderManage().GetShader<Gaussian>(ShaderManage::Gaussian);	gauss.SetParamStep( vector2f( Range / m_pDownSimple_1->GetSize().m_x, 0.0f ) );	driver.Draw( *m_pRendBuffer, gauss, m_pDownSimple_1->GetColorBuffer() );	driver.PopRenderTarget();	//y方向模糊	driver.PushRenderTarget(m_pDownSimple_1);	driver.Clear( IDriver::COLOR_BUFFER );	gauss.SetParamStep( vector2f( 0.0f, Range / m_pDownSimple_2->GetSize().m_y ) );	driver.Draw( *m_pRendBuffer, gauss, m_pDownSimple_2->GetColorBuffer() );	driver.PopRenderTarget();	driver.PushRenderTarget( out );//如果画在了输出上面,则需要更换输出,下一个pe就用另外一张rt	isSwitch = true;	driver.Clear( IDriver::COLOR_BUFFER );	//if( 0 )	{		driver.EnableAlphaBlend(IDriver::BL_SRC_ALPHA, IDriver::BL_ONE_MINUS_SRC_ALPHA, IDriver::BL_SRC_ALPHA, IDriver::BL_ONE_MINUS_SRC_ALPHA );		Combine& ce = driver.GetShaderManage().GetShader<Combine>(ShaderManage::Combine);		ce.SetParamOrginial( scene->GetColorBuffer() );		ce.SetParamSecen( m_pDownSimple_1->GetColorBuffer() );		ce.SetParamOrginialWeight(1.0f);		ce.SetParamSecenWeight(0.0f);//was 0.75		driver.Draw( *m_pRendBuffer, ce, NULL );	}	//else	//{	//	QuadShader& qs = driver.GetShaderManage().GetShader<QuadShader>(ShaderManage::QuadShader);	//	driver.Draw( *m_pRendBuffer, qs, m_pDownSimple_1->GetColorBuffer() );	//	//driver.Draw( *m_pRendBuffer, ui, org->GetDepthBuffer() );	//}	driver.PopRenderTarget( );}
开发者ID:RichardOpenGL,项目名称:Bohge_Engine,代码行数:55,


示例11: va

void Skin::DrawRectElement(const RectElement &element, const Point &pos, const Point &size, Graphics::BlendMode blendMode) const{	Graphics::VertexArray va(Graphics::ATTRIB_POSITION | Graphics::ATTRIB_UV0);	va.Add(vector3f(pos.x,        pos.y,        0.0f), scaled(vector2f(element.pos.x,                element.pos.y)));	va.Add(vector3f(pos.x,        pos.y+size.y, 0.0f), scaled(vector2f(element.pos.x,                element.pos.y+element.size.y)));	va.Add(vector3f(pos.x+size.x, pos.y,        0.0f), scaled(vector2f(element.pos.x+element.size.x, element.pos.y)));	va.Add(vector3f(pos.x+size.x, pos.y+size.y, 0.0f), scaled(vector2f(element.pos.x+element.size.x, element.pos.y+element.size.y)));	m_renderer->DrawTriangles(&va, GetRenderState(blendMode), m_textureMaterial.Get(), Graphics::TRIANGLE_STRIP);}
开发者ID:AmesianX,项目名称:pioneer,代码行数:11,


示例12: PROFILE_SCOPED

void TextEntry::Draw(){	PROFILE_SCOPED()	m_justFocused = false;	Graphics::Renderer *pRenderer = Screen::GetRenderer();	float size[2];	GetSize(size);	// find cursor position	float curs_x, curs_y;	Gui::Screen::MeasureCharacterPos(m_text, m_cursPos, curs_x, curs_y, m_font.Get());	if (curs_x - m_scroll > size[0]*0.75f) {		m_scroll += int(size[0]*0.25f);	} else if (curs_x - m_scroll < size[0]*0.25f) {		m_scroll -= int(size[0]*0.25f);		if (m_scroll < 0) m_scroll = 0;	}	//background	if(!m_background) {		m_background.reset( new Graphics::Drawables::Rect(pRenderer, vector2f(0.f), vector2f(size[0], size[1]), Color(0,0,0,192), Screen::alphaBlendState));	}	m_background->Draw(pRenderer);	//outline	const Color c = IsFocused() ? Color::WHITE : Color(192, 192, 192, 255);	const vector3f boxVts[] = {		vector3f(0.f, 0.f, 0.f),		vector3f(size[0],0.f, 0.f),		vector3f(size[0],size[1], 0.f),		vector3f(0,size[1], 0.f)	};	m_outlines.SetData(2, &boxVts[0], c);	m_outlines.Draw(pRenderer, Screen::alphaBlendState, Graphics::LINE_LOOP);	//text	SetScissor(true);	Gui::Screen::RenderStringBuffer(m_vb, m_text, 1.0f - m_scroll, 0.0f, c, m_font.Get());	SetScissor(false);	//cursor	const vector3f cursorVts[] = {		vector3f(curs_x + 1.0f - m_scroll, curs_y + Gui::Screen::GetFontDescender(m_font.Get()) - Gui::Screen::GetFontHeight(m_font.Get()), 0.f),		vector3f(curs_x + 1.0f - m_scroll, curs_y + Gui::Screen::GetFontDescender(m_font.Get()), 0.f),	};	m_cursorLines.SetData(2, &cursorVts[0], Color(128, 128, 128));	m_cursorLines.Draw(pRenderer, Screen::alphaBlendState);}
开发者ID:christiank,项目名称:pioneer,代码行数:51,


示例13: vector2f

万事OK自学网:51自学网_软件自学网_CAD自学网自学excel、自学PS、自学CAD、自学C语言、自学css3实例,是一个通过网络自主学习工作技能的自学平台,网友喜欢的软件自学网站。