我正在着色器pipe理器架构上工作,对于更高级的人员我有几个问题。 我目前的select反对两种devise: 1.每个材质着色器程序 =>为程序中使用的每种材质创build一个着色器程序。 潜在缺点: 考虑到每个对象可能有自己的材料,它涉及到很多glUseProgram调用。 意味着创build了许多shaderprogram对象。 更复杂的架构#2。 优点: 可以为材质中使用的每个“选项”专门生成着色器代码。 如果我没有错,那么制服只能被设置一次(当创build阴影程序时)。 2.全球着色器程序 =>为每个着色器function(闪电,reflection,视差映射…)创build一个着色器程序,并根据要渲染的材质使用configurationvariables启用或放弃选项。 潜在缺点: 制服必须每帧更换多次。 优点: 较低着色器程序计数。 减lessSP swich(glUseProgram)。 你可能会注意到我目前的倾向是#1,但是我想知道你对此的看法。 初始制服设置是否抵消了glUseProgram调用开销(我不是特别的速度怪胎)? 在情况1中,对于任何内存或性能的考虑,我应该在创buildSP时只调用一次glLinkProgram,或者每次调用glUseProgram时都必须取消链接/链接? 有更好的解决scheme吗? 谢谢!
我创build了一个完美的应用程序,直到用户select125%或150%。 这会打破我的申请。 后来我发现了一种通过检测DPI来查找字体大小的方法。 这个工作很好,直到用中文版本的Windows 7开始使用我的应用程序。 整个应用程序在中文窗口7中断。从我所知道的(我不能真正testing它,因为我只有英文版本和安装语言包不会导致问题)中国字符造成了一个奇怪的DPI,打破了我的申请。 我现在的代码是这样的: if (dpi.DpiX == 120) //For 125% fonts { //Resize form and set default font to correct problems } else if (dpi.DpiX == 96) //For 100 and 150% fonts { //Resize form and set default font to correct problems } 在英文版本的Windows 7上,这个版本很好用,但不知何故,中文版本正好跳过了这个版本,而且表格本身也被破坏了,控件甚至没有显示出来,字体也非常大,推动了这个问题,图片框被移动了。 那么,在没有检测API的情况下,检测窗口字体比例(100%,125%和150%)的好方法是什么? 我需要一些可以在所有的Windows 7操作系统和语言上运行的东西。
可能重复: 在Ruby中什么意思? 我正在从Ruby的Poignant指南中学习Ruby,在一些代码示例中,我遇到了用于相同目的的双冒号和圆点的使用: File::open( 'idea-' + idea_name + '.txt', 'w' ) do |f| f << idea end 在上面的代码中,正在使用双冒号访问File类的open方法。 不过,后来我发现代码中使用了一个点来达到同样的目的: require 'wordlist' # Print each idea out with the words fixed Dir['idea-*.txt'].each do |file_name| idea = File.read( file_name ) code_words.each do |real, code| idea.gsub!( code, real ) end puts idea end 这一次,正在使用一个点来访问File类的read方法。 有什么区别: File.read() 和 File::open()
我有一个RecyclerView这是一个项目的垂直滚动列表。 每个列表项都包含Lite模式下的Google Maps V2 MapView。 我正在利用这个新function,它返回位图,而不是一个完整的地图作为Google Static Maps API的替代品。 MapView要求您从父Activity / Fragment的相应方法调用onCreate() , onResume() , onPause() , onDestroy()等。 从RecyclerView.Adapter和/或RecyclerView.ViewHolder哪里可以调用这些地方? 我如何清理回收的MapViews,使内存不泄漏,同时保持清单免费? 谷歌说精简模式可以在列表中使用: …'精简模式'的地图选项,非常适合您想要提供一些较小的地图的情况下,或者一个非常小的地图,以至于有意义的交互是不切实际的,比如列表中的缩略图。 ListItem.xml <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent"> <com.google.android.gms.maps.MapView android:id="@+id/mapImageView" xmlns:map="http://schemas.android.com/apk/res-auto" android:layout_width="80dp" android:layout_height="100dp" map:liteMode="true" map:mapType="normal" map:cameraZoom="15"/> <!– … –> </RelativeLayout> RecyclerView.Adapter和ViewHolder public class NearbyStopsAdapter extends RecyclerView.Adapter<NearbyStopsAdapter.ViewHolder> { private final Context mContext; public class ViewHolder extends RecyclerView.ViewHolder […]
我正在尝试在.net(c#)中添加一个未处理的exception处理程序,该程序应该尽可能为“用户”提供帮助。 最终用户大多是程序员,所以他们只需要提示他们操作错误的对象。 我正在开发一个窗口类似于Windows XP的错误报告,当一个应用程序崩溃,但给出尽可能多的imediate信息imediatly关于抛出的exception。 虽然堆栈跟踪使我(因为我有源代码)查明问题的根源,用户没有它,所以他们丢失没有进一步的信息。 不用说,我不得不花费大量的时间来支持这个工具。 有几个系统exception,如Dictionary集合引发的KeyNotFoundExceptionexception,因为它们没有在消息中包含没有find的关键字,所以这真是令我烦恼。 我可以使用大量的try catch块来填充代码,但是它相当具有侵略性,并且有更多的代码需要维护,更不用说更多的string了,而这些string必须被本地化。 最后问题:有没有什么办法来获得(在运行时)调用堆栈跟踪中的每个函数的参数的值? 只有这一点可以解决90%的支持电话。
寻找一个易于使用的3D Java引擎API(即不包装),有一个良好的社区和良好的发展。 额外的function(即audio,input等)不是必要的,但很好。 我发现最stream行的Java 3DgraphicsAPI列表: 包装/低层次 JOGL – 强大的社区/良好的支持/积极 Java3D – 被遗弃(或慢慢死亡),逐步退出场景图(或重新加工到JavaFX?) lwjgl – 打开GL包装,audio和input处理/活动 引擎 jMonkey引擎 – 维基百科 – 活跃 版本3.0和2.0之间的分支(可能会伤害社区) ogre4j – 维基百科 – 自由的 百科全书 父项目OGRE – Active – C ++ Bindenlicht – 没有维基百科! – 不活跃 父项目Irrlicht – 维基百科 – Active – C ++ 高级(不适用于游戏) 处理 – 似乎不适用于游戏,但用于graphics可视化和演示 Jzy3d – 一个易于使用的Java API的3D图表(表面,散点图,条形图等)。 […]
我有一个MySQL数据库。 我将数据库存储在数据库中,并且只对数据库执行1个查询, 但是我需要这个查询以超快的速度执行 ,这就是返回一个方框中的所有家庭的地理纬度和经度。 SELECT * FROM homes WHERE geolat BETWEEN ??? AND ??? AND geolng BETWEEN ??? AND ??? 如何最好的方式来存储我的地理数据,以便我可以执行此查询显示地理定位框中最快的所有家庭? 基本上: 我使用最好的SQL语句执行此查询最快? 有没有其他方法存在,可能甚至不使用数据库,我查询盒装地理位置范围内的家园的结果最快的方式? 万一它有帮助,我已经包括我的数据库表架构如下: CREATE TABLE IF NOT EXISTS `homes` ( `home_id` int(10) unsigned NOT NULL auto_increment, `address` varchar(128) collate utf8_unicode_ci NOT NULL, `city` varchar(64) collate utf8_unicode_ci NOT NULL, `state` varchar(2) collate utf8_unicode_ci NOT […]
有什么办法来pipe理代码片段备份的数据库和代码突出显示在记事本+ +?
我正在尝试在iOS中创build一个视图或视图控制器的过渡animation,使其展开以填充整个屏幕,然后在完成时恢复到以前的位置。 我不确定这种types的转换是正式调用的,但是您可以在iPad的YouTube应用程序中看到一个示例。 当您点击网格上的某个search结果缩略图时,它会从缩略图展开,然后在您返回search时缩回到缩略图中。 我对这两方面感兴趣: 在一个视图和另一个视图之间转换时,你会如何做到这一点? 换句话说,如果视图A占据屏幕的某个区域,那么如何将它转换到占据整个屏幕的视图B,反之亦然? 你将如何过渡到这种模式的观点? 换句话说,如果UIViewController C当前正在显示并包含视图D,它占据了屏幕的一部分,那么如何使它看起来像视图D正在变成UIViewController E,它被模态地显示在C的顶部? 编辑:我添加一个赏金,看看是否得到这个问题更爱。 编辑:我有一些源代码可以做到这一点,Anomie的想法就像一个魅力,有一些改进。 我首先试着对模态控制器的视图(E)进行animation处理,但没有产生像放大屏幕一样的效果,因为它并没有扩大(C)中缩略图视图周围的所有东西。 所以然后我尝试了原始控制器的视图(C)的animation,但重绘它为一个生涩的animation,像背景纹理的东西没有正确放大。 所以我所做的是拍摄原始视图控制器(C)的图像,并将其放大到模态视图(E)中。 这种方法比我原来的方法要复杂得多,但看起来不错! 我认为这也是iOS如何进行内部转换的原因。 无论如何,这里的代码,我已经写在UIViewController类别。 的UIViewController + Transitions.h: #import <Foundation/Foundation.h> @interface UIViewController (Transitions) // make a transition that looks like a modal view // is expanding from a subview – (void)expandView:(UIView *)sourceView toModalViewController:(UIViewController *)modalViewController; // make a transition that looks like the […]
Google停止免费提供Google Apps。 有没有其他的办法可以把你自己的域名与一个好的邮件服务器链接成Gmail? 所以注册邮件提供商与他自己的域名。